Двунаправленные полиморфные отношения - PullRequest
0 голосов
/ 10 декабря 2011

У меня есть следующие модели:

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.infoset или Productset.infoset

Но как мне получить Product или Productsetчерез Infoset?

infoset.product просто возвращает информационный набор.

1 Ответ

3 голосов
/ 10 декабря 2011

@infoset.infosetable вернет либо Product, либо Productset, в зависимости от ситуации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...