0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

エラー解決: NoMethodError - undefined method `own?' for nil:NilClass:

Posted at

このエラーはよく見過ぎて対応の仕方がよくわかってきましたが、改めてまとめていきたいと思います。

今回エラーが出た場所はここです。

  <%= render 'crud_menus', post: post if current_user.own?(post) %>

このエラーはmethodのレシーバーがundefinedだよって忠告されているエラーです。
今回はownの前のcurrent_userがnilになってますよ!と言うことです。

対応方法は本当に色々とありますが、私はよくunlessを使います。
下記のようにunlessをつけると、current_userがnilでない時に<%= render 'crud_menus', post: post if current_user.own?(post) %>を実行すると言うことになります。

<% unless current_user == nil then %>
  <%= render 'crud_menus', post: post if current_user.own?(post) %>
<% end %>

このように私はこのエラーをやり過ごしました。

たくさん、エラー解決の方法はありますが、その一例として、参考にしていただければ、幸いです。

0
0
1

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?