【问题标题】:Rails query to make sure array doesn't contain nil objectsRails 查询以确保数组不包含 nil 对象
【发布时间】: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


    【解决方案1】:
    <% if !activity_trackable.nil? %>
      you can add the code that gets the count here
    <% else %>
      <%= 0 %>
    <% end %>
    

    【讨论】:

    • 这不是在回答我的问题。我需要在查询中包含一些内容以获取计数。如果您阅读了第一段,我已经在这样做了,但是方式不同。该问题询问如何在查询中包含某些内容。谢谢。
    猜你喜欢
    • 2021-03-19
    • 1970-01-01
    • 1970-01-01
    • 2016-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-30
    • 1970-01-01
    相关资源
    最近更新 更多