通知モデルを作成しました。belongs_to
ユーザー(Devise)と各ユーザーhas_many
通知。
しかし、私は何とか自分のアプリケーションのコントローラや他のコントローラでの通知を取得することはできません。Rails 4、SQ Lite 3:NoMethodError - 未定義メソッド:なし:NilClass
def notifications
@notifications = Notification.where(user_id: current_user.id).order('created_at desc')
end
私はいつもObjectとしてnil
を得るように見えます。
レシピ/検索ビュー(ビュー/アイテム/ search.html.haml):たとえば
私のコンソールIで
NoMethodError
undefined method `exists?' for nil:NilClass
:
- if @notifications.exists?
は私に、このエラーが発生します次のように通知を受け取ることができます:
Notification.where(user_id: 3)
事前にお手伝いをしていただきありがとうございます!
として扱われます - ?@ notifcations.exists場合' notifications.html.erb/HAMLでこのコードの存在があります? – dnsh
あなたの通知メソッドでは、current_user.notificationsはnilです。何も@notificationsに割り当てられないので、nil:NilClassエラーが発生します。 – Navin
'〜notifcations.exists? 'にスペルミスがあります。' - もし@ notifications.existsなら '? – dnsh