我正在使用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的一个实例,而不是执行链式命名范围的结果我已经通过的选项,这是我所期望的。
我的问题是:如何获取执行构建器(选项)的结果而不是构建器的实例?