利用carrierwave&amazon s3來上傳檔案
必須的gem
gem 'carrierwave'
gem 'mini_magick'
gem 'fog'
AWS設定可以參考這裡
生成的uploader裡本來有一段storage :file 把它改成下面這樣,讓他在production的時候是把圖傳到s3去
if Rails.env.production?
storage :fog
else
storage :file
end
新增 config/initializers/carrier_wave.rb
if Rails.env.production?
CarrierWave.configure do |config|
config.fog_credentials = {
provider: 'AWS',
region: 'ap-northeast-1'
aws_access_key_id: ENV['S3_ACCESS_KEY'],
aws_secret_access_key: ENV['S3_SECRET_KEY']
}
config.fog_directory = ENV['S3_BUCKET']
end