【问题标题】:Polymorphic Rails Associations (going backwards?)多态 Rails 关联(倒退?)
【发布时间】:2010-11-17 04:08:57
【问题描述】:

我的 Rails 应用程序中有一个多态 Rails 关联,用于“案例”模型。有很多东西都有案例,所以我通过执行“thing_that_has_a_case.case”来访问每个事物的案例。

但是,我正在尝试另一种方式,但我不确定如何。我可以访问 case 对象,但我想访问正在被装箱的东西。 rails有办法做到这一点吗?我可以用一个丑陋的开关来做到这一点,它为每种类型的对象执行不同的 sql 查找,但我希望 rails 有更好的方法。谢谢!

【问题讨论】:

    标签: sql ruby-on-rails polymorphic-associations


    【解决方案1】:

    你可以在你的案例模型中添加这样的东西:

    belongs_to :parent, :polymorphic => true
    

    ..假设您的案例模型中有字段parent_idparent_type(将第一个参数更改为belongs_to,具体取决于您如何命名这些关联字段)。一旦你有了这个,你应该能够为给定的案例实例引用case.parent

    而且,澄清一下,这种关系的一方面是这样的:

    has_many :cases, :as => :parent, :dependent => :destroy
    

    (我假设您已经根据您的描述进行了该工作)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-23
      • 2019-03-14
      • 2016-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多