0
下面是這種情況:當他的主題被回覆並且喜歡時,可以通知用戶。Rails:如何將喜歡的通知結合起來?
交易replies
很容易。當創建一個回覆時,它將創建一個通知給該主題的作者。
但是,在處理likes
時,總會有更多的人在做它。所以我需要結合喜歡的通知。所以用戶可以被通知像Mike and 7 other have liked your topic
。
問題是,現在我建模notification
爲多態。
class Notification < ActiveRecord::Base
belongs_to :user
belongs_to :subject, polymorphic: true # could be reply, likes and others
end
所以關係是這樣reply
- >notification
- >user
,爲1到1比1。
我通過@notifications.each
顯示@notifcations
,通過它們進行迭代。
但是一個通知只能代表一個像(由subject_id
),這對於likes
來說太多了,因爲太多人使用此功能。
所以我想結合通知。我該怎麼做?
我不明白你的意思,你只需要得到回覆的通知數量,比如'reply.notificaitons.size',並得到'喜歡'的第一個用戶呢?所以這將是兩個查詢:通過主題計數+第一個用戶。 – 2015-02-09 13:09:16
@DmitryPolushkin,你如何顯示通知?我通過'@ notification.all.each'完成遍歷它們。但是一個「通知」只能表示一個像(由'subject_id')。但對於'喜歡'來說太多了,因爲有太多人使用這個功能。所以我想結合通知。我該怎麼做? – cqcn1991 2015-02-09 13:20:50
你只需要計數喜歡?像這樣:'Notification.where(subject_type:'like',subject_id:SOME_ID).size'? – 2015-02-09 13:29:50