我使用public_activity gem创建了一个通知中心,每个用户都可以看到有人在其中一条评论中添加了问题(问题属于评论)。为此,我跟踪问题模型如下:
class Question < ActiveRecord::Base
include PublicActivity::Model
tracked owner: ->(controller, model) { controller && controller.current_user }
tracked recipient: ->(controller, model) { model && model.comment.user }
end
在我的应用程序控制器中:
class ApplicationController < ActionController::Base
include PublicActivity::StoreController
end
问题是我显然只希望收件人看到通知,但似乎无法使其正常工作。
这是通知控制器,它给我下一个错误:
undefined local variable or method `recipient'
控制器动作:
def notifications
@activities = PublicActivity::Activity.order("created_at desc").where(recipient.id == current_user.id)
end
答案 0 :(得分:2)
您可能应将notifications
操作更改为:
@activities = PublicActivity::Activity.order("created_at desc")
.where(recipient_id: current_user.id)