1
我正在編寫一個範圍,該範圍應該查找狀態爲open並且日期時間大於當前時間的任何調用。我的語法有點模糊,有人能幫助我指出正確的方向。範圍評估Rails 3中的時間
例失敗:
scope :scheduled_calls, where(:call_status => "open", :transfer_date > Time.now)
我正在編寫一個範圍,該範圍應該查找狀態爲open並且日期時間大於當前時間的任何調用。我的語法有點模糊,有人能幫助我指出正確的方向。範圍評估Rails 3中的時間
例失敗:
scope :scheduled_calls, where(:call_status => "open", :transfer_date > Time.now)
您需要使用lambda來評估的範圍時,它的名字,而不是在類被加載到。
scope :scheduled_calls, lambda { where(["call_status = ? and transfer_date > ?", "open", Time.now]) }
試試這個:
scope :scheduled_calls, where("call_status = 'open' and transfer_date > ?", Time.now)
'lambda'應在此處使用,以避免Time.now'的'緩存 – rubish 2012-07-20 21:58:40