J'utilise Carrierwave 0.5.3 et Fog pour télécharger des images sur Amazon-S3.Carrierwave/Fog - Erreur d'argument, fournisseur non reconnu
La configuration fonctionne sans problème lors de l'exécution locale, sans erreurs.
Mais lors de l'exécution sur Heroku, les téléchargements échouent avec ce message:
2011-03-31T12:53:46-07:00 app[web.1]: ArgumentError (is not a recognized storage provider):
2011-03-31T12:53:46-07:00 app[web.1]: app/controllers/useditems_controller.rb:36:in `create'
J'ai un initialiseur:
# /config/initializers/fog.rb
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => 'secret',
:aws_secret_access_key => 'also secret',
:region => 'eu-west-1'
}
config.fog_directory = 'jabberwocky'
end
Et une Uploader:
# /app/uploaders/image_uploader.rb
# encoding: utf-8
class ImageUploader < CarrierWave::Uploader::Base
# Include RMagick or ImageScience support:
include CarrierWave::RMagick
# Choose what kind of storage to use for this uploader:
storage :fog
# Override the directory where uploaded files will be stored.
# This is a sensible default for uploaders that are meant to be mounted:
def store_dir
"useditems"
end
def cache_dir
"#{Rails.root}/tmp/uploads"
end
# Create different versions of your uploaded files:
version :thumb do
process :resize_to_limit => [220, 2000]
end
# Add a white list of extensions which are allowed to be uploaded.
# For images you might use something like this:
def extension_white_list
%w(jpg jpeg gif png)
end
end
Je J'ai tracé le message d'erreur à Fog, et il semble que Fog, sous Heroku, n'obtienne pas les informations de configuration de l'initialiseur. :provider
est en quelque sorte vide. Mais je suis perplexe quant à la façon de le réparer.
Toute aide serait grandement appréciée.
J'utilise:
rails 3.0.4
heroku 1.19.1
fog 0.7.1
ruby 1.9.2 under rvm
Merci, j'avais fait quelque chose de très similaire à ça! – pdobb