【问题标题】:Setting up a parent and child model but child has it's own columns设置父子模型,但子模型有自己的列
【发布时间】:2013-04-29 16:50:02
【问题描述】:

我正在尝试建立一个结构,其父模型具有一些属性,而子模型继承这些属性并保持自己的属性。

理想情况下,我想要一个

的设置
class Parent
  attr_accessible :some_attribute, some_attribute2, some_attribute3
end

class Child < Parent
  attr_accessible :some_child_attr, :some_other_child_attr
end

class OtherChild < Parent
  attr_accessible :something, :something_else
end

我可以通过子级访问列,但也可以将特定的子级数据附加到给定模型。我一直在研究 STI 和多态关联,但我想避免为每种类型的孩子添加 has_many。这可能吗?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3.2 polymorphic-associations sti


    【解决方案1】:

    当然可以。这就是继承的工作原理。这就是 OOP 的美妙之处。

    只需将“has_many”放在 Parent 类中,所有孩子都有这个。

    【讨论】:

      【解决方案2】:

      我已经能够使用https://github.com/hzamani/acts_as_relation gem 解决我的问题。看来我正在寻找的是所谓的多表继承。完成该设置后,我就能够创建具有与父级相同属性的子模型以及它们自己的个体模型,而无需将每个子模型指定为父模型中的多态关联。

      【讨论】:

        猜你喜欢
        • 2015-10-13
        • 2018-11-30
        • 1970-01-01
        • 1970-01-01
        • 2015-02-05
        • 2016-11-06
        • 2016-11-17
        • 2012-01-22
        相关资源
        最近更新 更多