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