双向多态关系

时间:2011-12-09 20:29:39

标签: ruby-on-rails ruby ruby-on-rails-3 activerecord

我有以下型号:

class Infoset < ActiveRecord::Base
  belongs_to :infosetable,  :polymorphic => true
end

class Product < ActiveRecord::Base
  belongs_to :productset
  has_one :infoset, :as => :infosetable, :dependent => :destroy
end

class Productset < ActiveRecord::Base
  has_one :infoset, :as => :infosetable, :dependent => :destroy
  has_many :products
end

我可以通过Product.infosetProductset.infoset

获得信息短片

但如何通过Product获得ProductsetInfoset

infoset.product只返回信息集。

1 个答案:

答案 0 :(得分:3)

@infoset.infosetable会根据需要返回产品或产品集。