如果我在关联上定义的类方法中有以下代码。然后该值会被缓存还是仅适用于范围?
def for_today
where 'planned_for = ?', Time.zone.now
end
为了澄清,如果我使用范围执行以下操作, Time.zone.now 值将与缓存类时的值相同,我想确保上述情况不会发生或如何解决它。
scope :for_today, where('planned_for = ?', Time.zone.now)
因此,编写使用动态值的范围的正确方法是使用 lambda
scope :for_today, lambda { where('planned_for = ?', Time.zone.now) }
我是否需要为类或实例方法做类似的事情,如果是这样,那到底是什么?