我创建了一个通知模型belongs_to
用户(设计)和每个用户has_many
通知。
但是我无法在应用程序控制器或任何其他控制器中获取通知:
def notifications
@notifications = Notification.where(user_id: current_user.id).order('created_at desc')
end
我似乎总是将nil
作为对象。
例如:
食谱/搜索视图(views / items / search.html.haml):
- if @notifications.exists?
给了我这个错误:
NoMethodError
undefined method `exists?' for nil:NilClass
在我的控制台中,我可以使用以下内容获取通知:
Notification.where(user_id: 3)
提前感谢您的帮助!
答案 0 :(得分:1)
- if @notifcations.exists?
尝试- if @notifications.exists?
我建议您将代码更改为
在user.rb
中def ordered_notifications
notifications.order(created_at: :desc)
end
在你看来
- if @current_user.ordered_notifications.exists?
答案 1 :(得分:0)
尝试:
- if @notifications.any?
然后你不会得到 NoMethodError ,如果它是空的,它将被视为假