2013-06-23 16 views
5

Ho seguito le istruzioni di distribuzione da Carrierwave con modalità di distribuzione su Heroku per un'applicazione Rails utilizzando Amazon S3:Configurazione per Carrierwave con Amazon S3, ospitato su Heroku

https://github.com/carrierwaveuploader/carrierwave/wiki/How-to%3A-Make-Carrierwave-work-on-Heroku

ho aggiunto la riga aggiuntiva per config.ru e ha creato il file config/initializers/carrierwave.rb, ma non ha avuto successo.

Di seguito è riportato l'inizializzatore dell'onda portante, con i tasti rossi.

È impostato correttamente?

Cos'altro devo fare?

Qualsiasi guida passo passo per aiutarmi a implementare questo?

CarrierWave.configure do |config| 
config.fog_credentials = { 
:provider    => 'AWS',      # required 
:aws_access_key_id  => REDACTED,      # required 
:aws_secret_access_key => REDACTED,      # required 
:region     => 'eu-west-1',     # optional, defaults to 'us-east-1' 
:host     => 's3.example.com',    # optional, defaults to nil 
:endpoint    => 'https://s3.example.com:8080' # optional, defaults to nil 
} 
config.fog_directory = 'myawsbucket'     # required 
config.fog_public  = false         # optional, defaults to true 
config.fog_attributes = {'Cache-Control'=>'max-age=315576000'} # optional, defaults to {} 
end 

risposta

7

Hai generato il file del caricatore?

rails generate uploader Avatar

Questo genererà un file in questo modo: app/uploader/avatar_uploader.rb classe AvatarUploader < CarrierWave :: :: Base Uploader stoccaggio: file fine

Maggiori informazioni https://github.com/carrierwaveuploader/carrierwave in la Guida introduttiva.

Questo sono i miei file config/inizializzatori/carrierwave.rb

CarrierWave.configure do |config| 
    config.fog_credentials = { 
    :provider    => 'AWS', 
    :aws_access_key_id  => 'REDACTED', 
    :aws_secret_access_key => 'REDACTED' 
    } 
    config.fog_directory = "myawsbucket" 
end 

app/uploader/amazon_uploader.rb

class AmazonUploader < CarrierWave::Uploader::Base 
    include CarrierWave::MiniMagick 

    include Sprockets::Helpers::RailsHelper 
    include Sprockets::Helpers::IsolatedHelper 

    storage :fog 

    include CarrierWave::MimeTypes 
    process :set_content_type 

    def store_dir 
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" 
    end 

    version :user_thumb do 
    process :resize_to_limit => [200, 200] 
    end 

    def extension_white_list 
    %w(jpg jpeg gif png) 
    end 
end 

vi consiglio anche questo railcasts:

http://railscasts.com/episodes/253-carrierwave-file-uploads

http://railscasts.com/episodes/383-uploading-to-amazon-s3