Допустим, у меня есть три классаГде Person и не Person :: Single
Person
Person::Single < Person
Person::Married < Person
Допустим, у меня есть два Лица, которые Single =>Person::Single
Тогда я получаю два человека, когда я делать:
Person.all.count
=> 2
Но моя цель состоит в том, чтобы получить только лица, которые являются тип Person
и не Person::Single
или Person::Married
Я попытался это:
Person.where(type: Person.to_s)
=> 2
, но это также возвращает 2
, потому что Person::Single
и Person::Married
наследоваться от Person
Что я могу сделать вместо этого? Есть ли, например, способ сказать, что ::Single
и ::Married
такие же методы от person
, но не такие же? Спасибо
делает 'Person.where (тип: ноль)' работает? – Doon
Похоже, вы хотите использовать композицию вместо наследования. – spickermann