【发布时间】:2014-05-16 03:26:54
【问题描述】:
我正在使用public_activity gem 进行通知。我面临一个问题,如果用户收到有关其帖子的新评论的通知,他们的通知将引发错误,因为该对象现在为零,因为它已被删除。我可以通过使用<% if activity.trackable %>...render code...<% end %> 确保可跟踪对象不为零来解决这个问题。但是,我还通过此查询显示了他们在页面上的通知总数。
PublicActivity::Activity.order('created_at DESC').where(recipient_id: current_user, kind: "Notification", read: false).where('owner_id not in (?)', current_user).size
我如何才能确保它不包括他们的trackable 已被删除的任何活动。
例如。用户 1 创建了一个帖子。用户 2 cmets 在帖子上。用户 1 收到一条通知,上面写着“用户 2 已评论此帖子”。 (帖子是帖子的链接)。用户 1 现在删除了此帖子,但该活动没有被删除。因此,当我查询通知计数时,将包含该活动,即使它不应该包含在内。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4