CarrierWave et le Brouillard, compartiment S3 et store_dir de configuration
Je suis à essayer de comprendre comment le programme d'installation CarrierWave de travailler avec du Brouillard et Amazon S3. Sur le S3, j'ai un seau, "bucket1" avec dossier "images". Le téléchargement fonctionne très bien. Par exemple, une image peuvent être téléchargées à quelque chose de la forme https://s3.amazonaws.com/bucket1/images/picture/pic1.jpg. Toutefois, dans le spectacle de la vue, lorsque j'appelle la image_url helper, je reçois https://s3.amazonaws.com/images/picture/pic1.jpg. Ce qui me manque ici?
#config/initializers/carrierwave.rb
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => 'aws_key',
:aws_secret_access_key => 'aws_secret'
}
config.fog_directory = 'bucket1'
config.fog_host = 'https://s3.amazonaws.com'
config.fog_public = true
config.fog_attributes = {'Cache-Control'=>'max-age=315576000'}
end
#app/uploader/image_uploader.rb
def store_dir
"images/#{model.class.to_s.underscore}"
end
#app/views/pictures/show.html.erb
<%= image_tag @picture.image_url if @picture.image? %>
êtes-vous l'héberger sur heroku?
Je suis d'hébergement propre par HostGator(dev) & EC2 (prod)
Je suis d'hébergement propre par HostGator(dev) & EC2 (prod)
OriginalL'auteur Jonathan Mui | 2012-03-03
Vous devez vous connecter pour publier un commentaire.
Essayez de supprimer le
config.fog_host = 'https://s3.amazonaws.com'
configuration et au lieu de mettre
de stockage :brouillard
dans votre uploader. Il peut écraser le chemin d'accès réel avec celui que vous proposez.
OriginalL'auteur mrgreenfur
Bien que n'étant pas directement liées à cette question en particulier, il estime que les renseignements suivants est à la fois liées et utile.
Si vous utilisez des liens publics dans S3, vous pouvez contrôler la durée de vie de ces liens avec le
fog_authenticated_url_expiration
paramètre de configuration:OriginalL'auteur rantler