我正在使用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对该帖子发表评论。用户1有一个通知,其中显示&#34;用户2对此帖子进行了评论&#34;。 (帖子是帖子的链接)。用户1现在删除此帖子,但该活动已删除 。因此,当我查询通知计数时,将包括该活动,即使它不应该。
答案 0 :(得分:0)
<% if !activity_trackable.nil? %>
you can add the code that gets the count here
<% else %>
<%= 0 %>
<% end %>