私indexのクラスの1つのページitemに、データベース内のエントリをフィルタリングするフォームがあります。を持つすべてのフィールドでフィルタリングできitem、すべての要素が表されるため、コードは次のようになります。
<%= form_tag(url_for({ :controller => :item, :action => :filter }), :id => 'filter_form') do %>
<li>
<% Category.active.each do |category| %>
<% check_box_tag "categories[]", category.id, checked?(:categories, category.id) %>
<%= category.name %>
</li>
...
<% end %>
また、メソッドのコントローラーは、filterここで生成されたクエリを使用して、Itemのすべてのエントリをフィルタリングします。
@items = Item.includes(:category, ...)
.joins(:item)
.where(:category => params[:categories]
...
フィルタ内のすべてのフィールドについても同様です。
export同じコントローラーに、すべてのエントリをCSVファイルとしてエクスポートするメソッドもあります。exportビューはヘルパーメソッドの内容をレンダリングし、ここのメソッドから渡される変数@itemsをとして渡しItem.activeます。
私が欲しいのexport_filterは、テーブル内のすべてのエントリをエクスポートする代わりにItem、フィルタリングされたエントリだけをエクスポートする別のメソッドを用意することです。つまり、フィルターフォームのこれらのフォームパラメーターをexport_filterメソッドで使用できるようにし、それらを使用してビューとヘルパーに渡したいと思います。どうすればよいですか?