Эй!Возможно, я неправильно понимаю идею подкласса, но у меня есть модель Person, и у нее есть атрибут с именем age, поэтому
Person.first.age #=> '20'
Теперь я хочу иметь модель, которая в основном рассчитана на людей 55 лет и старше, поэтомуЯ знаю, что у меня может быть такой класс: класс Senior
Но как я могу "предварительно отфильтровать" класс Senior, чтобы у каждого объекта, принадлежащего этому классу, был возраст> = 55?
Senior.first.age #=> 56
ОБНОВЛЕНИЕ1: Скажем, у меня есть компания has_many people, а Person Person__ Company, поэтому Company.first.people # => ["Джек", "Кейт"]
Если возраст Джека>55, будет ли он работать тогда: Company.first.seniors # => "jack"
или
Company.first.people.senior (s) # => "jack"?
Я знаю, что named_scope может быть тем, что я хочу, но я также замечаю, что named_scope, похоже, является методом переменной класса Person.Не его примеры, которые имеют смысл для меня.- Итак, если бы я разработал такой удобный фильтр для коллекции моделей activerecord (объектов одного класса), как мне это сделать?Я предполагаю, что мне пришлось бы использовать «обнаружение» для такого массива, но куда это пойдет в определении модели?
Обновление 2 Я совершенно уверен, что я не был ясен, поэтому пример Хотите: первая компания в возрасте 55 лет и старше Company.first.people.detect {| p |p.age> 54}
Я знаю, что это не очень долго, но мои условия пойдут дальше, чем просто> 54, и каждый раз обнаруживать это будет неуклюже.
Спасибо!