Ruby on rails Rails 3.2不会更新查询中使用的时间

Ruby on rails Rails 3.2不会更新查询中使用的时间,ruby-on-rails,ruby-on-rails-3,activerecord,time,scope,Ruby On Rails,Ruby On Rails 3,Activerecord,Time,Scope,我有以下代码: @record = @user.records.where("question_group_id IN (?)", @question_groups).ready.order(:next_ready).first 方法“就绪”是一个范围: scope :ready, where("next_ready < :time", { time: Time.now}) 有人知道可能是什么问题吗?时间的值。现在只有在首次读取源文件时才设置,您必须更改范围以使用lambda,以便为每

我有以下代码:

@record = @user.records.where("question_group_id IN (?)", @question_groups).ready.order(:next_ready).first
方法“就绪”是一个范围:

scope :ready, where("next_ready < :time", { time: Time.now})

有人知道可能是什么问题吗?

时间的值。现在只有在首次读取源文件时才设置,您必须更改范围以使用lambda,以便为每个查询重新计算它

scope :ready, ->() { where("next_ready < :time", {:time => Time.now}) }
scope:ready,->(){where(“next_ready<:time”,{:time=>time.now}}
scope :ready, ->() { where("next_ready < :time", {:time => Time.now}) }