范围评估Rails中的时间3

时间:2012-07-17 14:49:35

标签: ruby-on-rails-3 datetime scope

我正在编写一个范围,该范围应该查找状态为open且任何日期时间大于当前时间的调用。我对语法有点模糊,有人可以帮助我指出正确的方向。

失败的示例:

scope :scheduled_calls, where(:call_status => "open", :transfer_date > Time.now)

2 个答案:

答案 0 :(得分:6)

在调用范围时,需要使用lambda来评估范围,而不是在加载类时。

scope :scheduled_calls, lambda { where(["call_status = ? and transfer_date > ?", "open", Time.now]) }

答案 1 :(得分:0)

试试这个:

scope :scheduled_calls, where("call_status = 'open' and transfer_date > ?", Time.now)