是否可以编写带有可选参数的范围,以便我可以使用和不使用参数来调用范围?
就像是:
scope :with_optional_args, lambda { |arg|
where("table.name = ?", arg)
}
Model.with_optional_args('foo')
Model.with_optional_args
如果给出了 arg(如 Unixmonkey 所述),我可以检查 lambda 块,但是在没有参数的情况下调用范围时,我得到了一个ArgumentError: wrong number of arguments (0 for 1)