【问题标题】:Model without attributes for has_many :through association没有 has_many 属性的模型:通过关联
【发布时间】:2014-03-20 15:57:57
【问题描述】:

考虑以下我有应该通过线程耦合在一起的消息。我最终得到了这样的架构: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 的模型中没有任何有意义的属性。它只是一个具有主键序列的表。

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

你怎么看?如何将多个模型与一个空白模型组织在一起?

【问题讨论】:

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


    【解决方案1】:

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

    parent_message_id
    

    在您的消息表中并使用此 ID 获取同一线程的所有消息

    【讨论】:

    • 嗨@Abk 你能写下查询以显示用户消息历史记录吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多