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 のインスタンスであり、チェーンされた名前付きスコープをオプションで実行した結果ではありません。私は合格しました、それは私が期待するものです。
私の質問は次のとおりです。ビルダーのインスタンスではなく、ビルダー(オプション)を実行した結果を取得するにはどうすればよいですか?