【Rails5】nil is not a valid asset source が出た時の対処法

開発中のRails アプリをHeroku上で実行しようとしたらまたまた “We’re sorry, but something went wrong.” が出てアプリが開けなくなりました。

さてログを確認すると下記のようなエラーが出て来ました。

2019-00-00T00:00:00.000000+00:00 app[web.1]: F, [2019-00-00T00:00:00.000000 #4] FATAL -- : [0f0010c0-000f-0000-a9f5-f00440000000] ActionView::Template::Error (nil is not a valid asset source):

後半に “nil is not a valid asset source” って書かれてます。

今回は erb ファイルの以下の部分が引っかかっていました。

<%= image_tag(user.image , :class => "responsive-img") %>

Rails4 では問題ないのですが、どうやらRails5からは nil チェックが必要みたいです。

ので、 以下のようにunless文(unless user.image.blank?)をつけてあげます。

<%= image_tag(user.image , :class => "responsive-img") unless user.image.blank?%>

これでひとまず “nil is not a valid asset source” の問題は解決です。

お疲れ様でした。