5
我有以下兩種模式:Rails的線程私人信息
class Message < ActiveRecord::Base
belongs_to :to_user, :class_name => 'User'
belongs_to :from_user, :class_name => 'User'
has_ancestry #Using the 'ancestry' gem
end
class User < ActiveRecord::Base
has_many :messages_received, :class_name => 'Message', :foreign_key => 'to_user_id'
has_many :messages_sent, :class_name => 'Message', :foreign_key => 'from_user_id'
end
允許每個用戶有一個與其他用戶一個對話,所有的答覆應該從原來的消息線程。
在我的「索引」的控制器動作我怎麼查詢都發送的消息和接收的消息?例如,如果User1點擊「/ users/2/messages /」,他們應該看到user1和user2之間的整個對話(不管誰發送第一條消息)。我是否需要添加一個「線程」模型,或者是否有一種方法可以用我當前的結構完成此任務?
謝謝。
一直在尋找一種方法,使用戶之間簡單的對話時,我發現這一點。看起來它會工作。謝謝!但是,它不應該是用戶模型中的'has_many:會話,:通過=>:參與者'嗎? – Vickash
你對用戶模型中缺少的':through'是正確的。它也應該有'has_many:參與者'。 – tadman
我剛剛在我的應用程序中使用了這個模型,但我真的很努力想要創建和回覆消息的控制器。有沒有簡單例子的機會?如果更好,我可以將它作爲一個新問題開始。 – Dave