嘿!也许我得到一个子类错误的想法,但我有一个Person模型,它有所谓的“年龄”,所以红宝石子类过滤器
Person.first.age #=> '20'
现在我想有一个模型,基本上者55岁以上,所以我知道的ATTRIB我能有这样一个类: 类高级<人 结束
但我怎么能“预过滤器”的高级研修班,使每个对象属于这个类有年龄> = 55?
Senior.first.age #=> 56
UPDATE1: 所以说我有公司的has_many人,和人belongs_to的公司,所以 Company.first.people#=> [ “杰克”, “凯特”]
如果杰克的年龄> 55,将它再工作: Company.first.seniors#=> “杰克”
或者
Company.first.people.senior(S)#=> “杰克”?
我知道named_scope可能是我想要的,但我也注意到named_scope似乎是一个类变量Person上的方法。不是它的实例,这对我来说确实有意义。 - 所以如果我想为一组activerecord模型(同一类的对象)设计一个这样的便利过滤器,我该如何去做呢?我猜我不得不为这样一个数组使用“检测”,但是这会在模型的定义中出现在哪里呢?
更新2 我敢肯定我还没有明确,所以例如 旺旺:第一公司的55岁以上的人 Company.first.people.detect {| P | p.age> 54}
我知道这不是很长,但是我的条件会比> 54更远,而且每次都会发生这种情况。
谢谢!
我会完全推荐使用这种方法调用它。 – 2010-03-29 10:05:57
我想我忘记了另一个使用,我希望有一个子类高级,它被添加为原始queston的更新。感谢您的快速回复 – 2010-03-29 10:06:20
,因此您可以在Senior
fl00r
2010-03-29 10:19:31