I've followed the deployment instructions from Carrierwave with how to deploy on Heroku for a Rails app using Amazon S3:
https://github.com/carrierwaveuploader/carrierwave/wiki/How-to%3A-Make-Carrierwave-work-on-Heroku
I've added the extra line to config.ru and created the config/initializers/carrierwave.rb file, but no success.
Below is the carrierwave initializer, with keys redacted.
Is this correctly setup?
What else do I need to do?
Any step-by-step guides to help me implement this?
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
Best Answer
Did you generate the uploader file?
rails generate uploader Avatar
This will generate a file like this: app/uploaders/avatar_uploader.rb class AvatarUploader < CarrierWave::Uploader::Base storage :file end
More info https://github.com/carrierwaveuploader/carrierwave in the Getting started.
This are my files config/initializers/carrierwave.rb
app/uploaders/amazon_uploader.rb
I also recommend you this railcasts:
http://railscasts.com/episodes/253-carrierwave-file-uploads
http://railscasts.com/episodes/383-uploading-to-amazon-s3