2013-06-23 10 views
5

mam przestrzegać instrukcji skoku ze Carrierwave ze sposobu wdrażania na Heroku dla aplikacji Rails przy użyciu Amazon S3:Konfiguracja Carrierwave z Amazon S3, którego gospodarzem na Heroku

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

dodałem dodatkowy wiersz do pliku config.ru i utworzył plik config/initializers/carrierwave.rb, ale bez powodzenia.

Poniżej znajduje się inicjator przewoźnika, z przyciskami redagowanymi.

Czy to jest poprawnie skonfigurowane?

Co jeszcze muszę zrobić?

Wszelkie instrukcje krok po kroku, które pomogą mi to zaimplementować?

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 

Odpowiedz

7

Czy wygenerowałeś plik uploadera?

rails generate uploader Avatar

Spowoduje to wygenerowanie pliku takiego: APP/przesyłające/avatar_uploader.rb klasy AvatarUploader < CarrierWave :: Uploader :: Base pamięci: Plik końcowy

Więcej informacji https://github.com/carrierwaveuploader/carrierwave w Pierwsze kroki.

To są moje pliki config/inicjalizatory/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/przesyłające/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 

Ja również polecam ci to railcasts:

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

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