2012-10-03 108 views
0

我不確定正確的術語是什麼,所以我的谷歌搜索沒有什麼幫助。ActiveRecord查詢FALSE屬性

但不管怎麼說,ActiveRecord的允許你搜索所有的記錄與真有這樣的一個布爾屬性:

@current_events = Event.current 

所以所有屬性事件「當前」等於則返回TRUE。

是否有一個漂亮的ActiveRecord方法返回所有的FALSE?可能是這樣的:

@outdated_events = Event.not_current 

如果不是,那麼我可以使用「where」方法。但我只是好奇。

謝謝!

回答

1

您可能會誤認爲Rails功能的ActiveRecord'命名範圍'類方法。例如,

class Foo < ActiveRecord::Base 
    def self.current 
    where current: true 
    end 
end 

將創建你所描述的行爲,但不只是打電話Foo.current沒有上述。因此,要建立not_current,沒錯,使用where

def self.not_current 
    where current: false 
end 
+0

是啊,你是對的。我忘了自己已經創建了一個命名示波器。感謝您糾正我! –