我正在使用 Ryan Bates 出色的scope_builder有条件地构建一个新的命名范围,以在 Active Record 模型的 search() 方法中使用。
示例文档显示您可以执行以下操作:
# in product model
def self.search(options)
scope_builder do |builder|
builder.released.visible
builder.cheap if options[:cheap]
end
end
但是,当我在我的模型中包含上述代码的相关版本并调用 search() 并传递了一些选项时,我得到的是 ScopeBuilder::Builder 的一个实例,而不是使用选项执行链式命名范围的结果我已经通过了,这是我所期望的。
我的问题是:如何获得执行 builder(options) 而不是构建器实例的结果?