1週間くらい前にも全く同じ所で30分くらい詰まっていたのに、また同じ所で15分くらい詰まっていたので自分用にメモをしておく。 外部キーの設定もしっかりやった モデルへのリレーションの設定もやった 「これでアソシエーションの設定は整った」と思いきや、いざ動かしてみると NoMethodError が起こった。 以下モデルとビューのソースコードの抜粋。 # モデル @mails = mail.all #ビュー <% @mails.each do |mail| %> <%= mail.attachment.filename %> <% end %> 原因は、#each でぶん回してる全てのmailオブジェクトにattachmentがついているとは限らないためだった。 nilになる可能性があるものに対してメソッド呼び出しをする際には、呼び出す前に確認をしなければならない。 以下のように書きなおせば
![RailsのアソシエーションまわりでNoMethodErrorが起こった時に思い出したいこと](https://cdn-ak-scissors.b.st-hatena.com/image/square/11894ef2caf91ac2e49be6cab214dfb1e9338fe8/height=288;version=1;width=512/https%3A%2F%2Fmogulla3.tech%2Fimages%2Fdefault-og-image.png)