Carrierwave / Nebel / S3 "ist nicht eine anerkannte Speicher-Anbieter"

Ich habe eine Rails-app mit Carrierwave für Datei-uploads. Es wurde gut funktioniert, aber beginnen möchte ich mit Amazon S3 für mein Bild-Speicher. Ich bin immer diese Fehlermeldung:

ArgumentError ( is not a recognized storage provider):
  app/controllers/salons_controller.rb:52:in `update'

Ich gemacht habe, sicher habe ich die neueste Edelsteine für Carrierwave und Nebel. Dies ist in meinem Gemfile:

gem 'carrierwave'
gem 'aws-sdk'
gem 'fog'

Nebel.rb sieht so aus:

CarrierWave.configure do |config|
    config.fog_credentials = {
        :provider              => 'AWS',
        :aws_access_key_id     => 'MYACCESSKEY',
        :aws_secret_access_key => 'MYSECRETKACCESSKEY',
        :region                => 'us-east-1'
    }

    config.fog_directory = 'andrunix'
    config.fog_public    = true
    config.fog_attributes = {'Cache-Control'=>'max-age=315576000'} 

Ende

Den Uploader-Klasse sieht wie folgt aus:

class SalonImageUploader < CarrierWave::Uploader::Base
  include CarrierWave::RMagick
  storage :fog

  def store_dir
    # "andrunix" is the bucket name on S3

    "andrunix/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end
end

Wenn ich den Speicher wieder auf 'Datei', funktioniert es einwandfrei. Einstellung Speicher zu 'Nebel' erzeugt diesen Fehler.

InformationsquelleAutor andrunix | 2013-04-19
Schreibe einen Kommentar