現在Carrierwaveを使ってAmazonS3に画像アップロードをするために設定を行っていて、
・S3アクセス権限を付与、バケットを作成済み
・vim ~/.bash_profileにAWSのアクセスキーとシークレットキーを記入
・source ~/.bash_profileで環境変数の適用
までおこなったのですが、その状態でHerokuへデプロイを行ったところ「Application error」となってしまいました。
heroku logsには
Missing required arguments: aws_access_key_id, aws_secret_access_key (ArgumentError)
というエラーメッセージが出てきて予想なのですが、環境変数が本番環境に適用されていないため引数が足りていない?というような状況なのかなと思います。
現在調べているのですが、環境変数を本番環境に適用する方法が見つからないため質問投稿させていただきました。
アドバイスをいただけるとありがたいです。
config/initializers/carrierwave.rbのファイル内容↓
unless Rails.env.development? || Rails.env.test? CarrierWave.configure do |config| config.fog_credentials = { provider: 'AWS', aws_access_key_id: ENV['AWSKEY'], aws_secret_access_key: ENV['AWSSECRET_KEY'], region: 'ap-northeast-1' } config.fog_directory = 'furugimeguri' config.cache_storage = :fog end end
class ImageUploader < CarrierWave::Uploader::Base include CarrierWave::MiniMagick if Rails.env.development? storage :file elsif Rails.env.test? storage :file else storage :fog end def store_dir "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" end process resize_to_fill: [200, 200, "Center"] version :thumb do process resize_to_fill: [700, 500, "Center"] end end
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。