通知多个通知供稿的活动

时间:2016-11-08 19:43:48

标签: ruby-on-rails getstream-io

我正在设置通知Feed,以便用户在收到与其关联的项目的评论时收到通知,但我不认为stream-rails gem支持多个Feed的通知。

我一直在使用的是:

def activity_notify
  [StreamRails.client.feed('Notification', self.commentable.user.id)]
end

除此之外,只通知一个用户。我实际上需要它来遍历与该对象相关的所有用户:

  • 对该对象发表评论的其他用户(Jack commented on something you've recently commented on
  • 喜欢该对象的其他用户(' Jack评论了您最近喜欢的内容)
  • 最后是有条件的,所以你不会收到关于评论你自己的对象的通知(You just commented on your own object

这里最好的做法是定义我自己的方法并手动推送到每个Feed吗?

def notify_related_users
  users = users_who_also_commented

  users.each do |user|
    feed = StreamRails.client.feed('Notification', self.commentable.user.id)
    activity_data = build_activity
    feed.create_activity(activity_data)
  end
end

这至少不是很迷人,但从理论上说它应该能够完成工作吗?是否有替代方法可以使用activity_notify执行某些操作并传递多个Feed,如下所示:

def activity_notify
  [StreamRails.client.feed('Notification', 1),
   StreamRails.client.feed('Notification', 2),
   StreamRails.client.feed('Notification', 3)
  ]
end

0 个答案:

没有答案