class Staff < ActiveRecord::Base
has_one :last_report, ->(a_s){ p "1111"*90; p a_s; where(report_type: Report::report_types[a_s]) }, class_name: 'Report'
end
打印 a_s 的时候出现的都是 staff 实例对象本身,查过 ruby on rails 的官方文档,其中有段代码为
has_one :dob, ->(dob) { where("Date.new(2000, 01, 01) > ?", dob) }
这个参数看来不像是实例对象,那推论 has_one 的 scope 应该是能接受其它参数的,可是为啥我的不行