1
我想覆盖现有的范围以向其添加额外的条件。我已经展示了使用alias_method来做到这一点的尝试。不幸的是,这种方法不适用于范围,我得到一个未定义的方法错误。我如何用范围做到这一点?在导轨3中覆盖范围
module Delayed
module Backend
module ActiveRecord
class Job < ::ActiveRecord::Base
belongs_to :queue
scope :in_unlocked_queue, lambda {
joins(:queue) & Queue.unlocked
}
alias_method :orig_ready_to_run, :ready_to_run
scope :ready_to_run, lambda {|worker_name, max_run_time|
orig_ready_to_run(worker_name, max_run_time).in_unlocked_queue
}
end
end
end
end
如果我还记得,你可以使用的方法,而不是在AR3范围......但我不完全当然。 – Reactormonk 2010-10-24 18:30:36