LoginSignup
2
1

More than 3 years have passed since last update.

[Heroku]Cloudinary環境においてCarrierwaveで画像をアップロード

Posted at

プログラミングの勉強日記

2020年8月9日 Progate Lv.226
前回の記事に引き続きHerokuを扱う。
前回までにRailsアプリケーションをHeroku上で公開することができた。

目標

 今回はすでにローカルでCarrierWaveを用いて画像の投稿ができるので、それをHeroku上でもできるようにする。

 現在、Cloudinary環境においてCarrierwaveで画像をアップロードしようとすると以下のエラーが出てしまう。

「We're sorry, but something went wrong.
If you are the application owner check the los for more information.」
0808-5.PNG

方法

0.5. Herokuにクレジットカードを登録する

 Cloudinaryと連携するためには、クレジットカードを登録する必要がある。(無料で行える)

こちらからログインをする。以下の手順に従ってクレジットカードを登録する。

1. Account Settingsをクリック

0809-5.PNG

2. Billingタブをクリックし、Add Credit Cardをクリック

0809-7.PNG

3. カード情報を登録する

0809-6.PNG

1. HerokuとCloudinaryを連携する

 HerokuとCloudinaryを連帯するためのアドオン(追加機能)を追加する。Herokuのブラウザからでもコマンドからでも追加することができる。

コマンドで追加する場合

ターミナル
$ heroku addons:add cloudinary:starter

ブラウザから追加する場合

こちらから登録する。

1. Install Cloudinaryをクリック

0809-3.PNG

2. Add to provisio toにサービス名を入力し、Provision add-onをクリック

0809-4.PNG

2. アップローダーファイルの編集

 このアップローダーファイルはCarrieawaveを使って画像をアップロードするための設定ファイル。

アップローダー(app/uploaders/image_uploader.rb)
#変更前
if Rails.env.production?
  include Cloudinary::CarrierWave
  CarrierWave.configure do |config|
    config.cache_storage = :file
  end
else
  storage :file
end

#変更後
#if Rails.env.production?
  include Cloudinary::CarrierWave
  #CarrierWave.configure do |config|
    #config.cache_storage = :file
  #end
#else
  #storage :file
#end

感想

 Railsのバージョンが5.1.7だったので、バージョンをアップデートしたりmaster.keyを使ってみたり、Gemfileを変えたり、ビューファイルを変えてみたり、様々なことをしたが、クレカの登録が必要だった。
 最初にターミナルでheroku addons:add cloudinary:starterを実行したときに英語の文章をちゃんと読んでいなくてクレジットカードを登録する必要があるのにもかかわらず、それを飛ばしてしまってたのが大きな原因であった。
 基本的には、ローカルでCloudinaryとCarrierWaveを用いて画像を投稿する機能ができていれば、上記のようにすればHeroku上で問題なく動いた。
 ここまでするのに多くの時間を費やしてしまったが、勉強になった。

参考文献

Heroku + Cloudinary環境でCarrierwaveで画像アップロード
We're sorry, but something went wrong.If you are the application owner check the logs for more information.でハマる。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1