嘿!也許我得到一個子類錯誤的想法,但我有一個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