2014-05-16 38 views
0

我正在使用public_activity gem進行通知。我遇到了一個問題,如果用戶得到關於他們發佈的新評論的通知,他們的通知將會引發錯誤,因爲該對象現在是零,因爲它已被刪除。我可以通過確保可追蹤對象不是零,與<% if activity.trackable %>...render code...<% end %>對抗。但是,我還在該查詢中顯示了他們在頁面上的通知總數。Rails查詢以確保數組不包含零對象

PublicActivity::Activity.order('created_at DESC').where(recipient_id: current_user, kind: "Notification", read: false).where('owner_id not in (?)', current_user).size 

我怎樣才能得到這個以確保它不包括,他們的trackable已被刪除的任何活動。

Ex。用戶1創建了一個帖子。用戶2對帖子發表評論。用戶1有一個通知說「用戶2已對該帖子發表評論」。 (發佈是該帖子的鏈接)。用戶1現在刪除此帖子,但該活動已刪除而不是。因此,當我查詢通知計數時,即使不應該,也會包含該活動。

回答

0
<% if !activity_trackable.nil? %> 
    you can add the code that gets the count here 
<% else %> 
    <%= 0 %> 
<% end %> 
+0

這不回答我的問題。我需要在查詢中包含一些內容以獲得計數。如果你讀了第一段,我已經這樣做了,但方式不同。該問題詢問如何在查詢中包含某些內容。謝謝。 – tMTboss

+0

查看帖子的更新。 –