0

変数を介して ActiveRecord クエリにスコープを追加する方法はありますか?

if @date.present?
  result << Foo.in_region(params[:region_id]).created_since(@date)
  result << Bar.in_region(params[:region_id]).created_since(@date)
  result << Baz.in_region(params[:region_id]).created_since(@date)
else
  result << Foo.in_region(params[:region_id])
  result << Bar.in_region(params[:region_id])
  result << Baz.in_region(params[:region_id])
end

私は次のようなことをしたいと思います:

scope = in_region(params[:region_id])
scope << created_since(@date) if @date.present?
%w(Foo Bar Baz).each do |model|
  result << model.scope
end

もちろん、この方法では機能しません。

4

1 に答える 1