在我index
的一个类的页面上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 文件。视图渲染辅助方法中的内容,并将变量@items 从export
此处的方法传递为Item.active
.
我想要的是另一种方法export_filter
,它不是导出表中的所有条目,而是Item
只导出过滤后的条目。换句话说,我想在我的export_filter
方法中为我的过滤器表单获取这些表单参数,并使用它们传递给视图和助手。我该怎么做呢?