前提
Cloud9で作ったRailsの画像投稿サービスをHerokuでデプロイする
目標
Herokuでデプロイした時に画像がちゃんと反映されるようにする。
手順
① Cloudinaryをインストールする
HerokuはGit管理外のリソース(ユーザ操作による画像アップロード)を保証しないため、herokuにそのままデプロイしても画像が保存されない。
そのため、画像をクラウドで管理するCloudinaryを使う。
② コマンド実行
Cloud9のターミナルでrailsプロジェクトのディレクトリに移動し、以下コマンドを実行
heroku addons:create cloudinary:starter
③ Gemfileにgemを追加
Gemfileに下記のgemを追加する
Gemfile
gem 'cloudinary'
その後、bundle install
実行
④ Cloud9とHerokuで場合分け
uploader
ファイル内を書き換える。
現状:
image_uploader.rb
strage :file
書き換え後:
image_uploader.rb
if Rails.env.production?
include Cloudinary::CarrierWave
else
storage :file
end
結論
上記を実行することで、Herokuでデプロイした時に正常に画像が反映された。
終わりに
何か気になる点・間違っていることがあればコメントくださいm(_ _)m