1
我現在所擁有的是角色扮演模型和消息模型。如何將來自不同來源的通知分組到一個模型中
我希望他們共享相同的通知流:他們都應該創建一個'通知'行,然後將顯示給用戶。 但我希望通知也指向他們的父母。我想過創建一個parent_id和parent_class列,以便我可以獲得父對象。但是有沒有已經建成的方式呢?
我檢出了Polymorphic模型,但我似乎並沒有真正理解如何在此處使用它。
我現在所擁有的是角色扮演模型和消息模型。如何將來自不同來源的通知分組到一個模型中
我希望他們共享相同的通知流:他們都應該創建一個'通知'行,然後將顯示給用戶。 但我希望通知也指向他們的父母。我想過創建一個parent_id和parent_class列,以便我可以獲得父對象。但是有沒有已經建成的方式呢?
我檢出了Polymorphic模型,但我似乎並沒有真正理解如何在此處使用它。
該解決方案是完全多態的車型,如果添加PARENT_ID和parent_class領域的通知模式,您可以輕鬆地創建你的通知模型來實現它多態關聯,這裏是它會怎樣看:
class Notification < ActiveRecord::Base
belongs_to :parent, :polymorphic => true
end
然後使用它,它很簡單:
message = # assign the message here
notification = Notification.create(:parent => message)
然後,您可以查詢通知並將其用作所有通知的來源。
好吧!現在我明白了,在這裏我還找到了比以前更好的解釋:http://guides.rubyonrails.org/association_basics.html#polymorphic-associations – Neikos