按收件人过滤通知

时间:2014-08-20 02:27:43

标签: ruby-on-rails

我使用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

1 个答案:

答案 0 :(得分:2)

您可能应将notifications操作更改为:

@activities = PublicActivity::Activity.order("created_at desc")
               .where(recipient_id: current_user.id)