13章で画像のアップロード機能を追加した際にherokuにデプロイ出来なくなる事があります。
その対処法について説明していきます。
リスト 13.69: 本番環境での画像アップロードを調整する
app/uploaders/picture_uploader.rb
class PictureUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
process resize_to_limit: [400, 400]
if Rails.env.production?
storage :fog
else
storage :file
end
# アップロードファイルの保存先ディレクトリは上書き可能
# 下記はデフォルトの保存先
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
# アップロード可能な拡張子のリスト
def extension_whitelist
%w(jpg jpeg gif png)
end
end
チュートリアル本文より
production?という論理値を返すメソッドは環境毎に保存先を切り替えるメソッドです
storage :fogは開発環境に保存先を設定している
storage :fileは本番環境に保存先を設定している
上のファイルを下のようにコメントアウトするとherokuにpushできるようになる
app/uploaders/picture_uploader.rb
## if Rails.env.production?
## storage :fog
##else
storage :file
##end