没有has_many属性的模型:通过关联

时间:2014-03-20 15:57:57

标签: ruby-on-rails activerecord database-design model

考虑以下我有消息应该通过线程耦合在一起。我最终得到了这样的架构:Message belongs_to ThreadThread has_many Messages。这里的关键是能够将所有相关消息发送给我正在使用的消息。

class Message < ActiveRecord::Base
  attr_accessible :title, :body      
  belongs_to :thread
  has_many :messages, through: :thread


end

class Thread < ActiveRecord::Base
  has_many :messages
end

然而,我有点担心有一个空白模型。名为Thread的模型中没有任何有意义的属性。它只是一个包含主键序列的表。

我有想法把它变成一棵树,但它看起来也太重了。

你怎么看?如何组织几个模型和一个空白模型?

1 个答案:

答案 0 :(得分:0)

为什么需要线程表?我建议你应该使用单表继承。添加

parent_message_id
在您的消息表中

并使用此id

获取同一线程的所有消息