带复选框的搜索表单

时间:2014-09-26 17:43:03

标签: ruby-on-rails

我正在尝试创建一个找到带复选框的产品的表单。我认为问题在于我没有将数组传递给我的控制器。有谁知道如何解决这个问题?

模型

def self.search(params)
  arel = order('created_at DESC') # note: default is all, just sorted
  arel = arel.where('name LIKE ?', "%#{params[:search]}%").order('created_at DESC') if params[:search].present?
  arel
end

控制器

def index
  @products = Product.search(params)
end

查看

<%= form_tag(products_path, :method => "get", id: "search-form") do %>
<%= check_box_tag :search, "product1", nil %>
<%= check_box_tag :search, "product2", nil %>
<%= submit_tag "Search" %>
<% end %>

1 个答案:

答案 0 :(得分:0)

两个复选框都是相同的:search,因此只发送最后一个复选框。尝试这样的事情:

<%= check_box_tag "search[]", "product1" %>
<%= check_box_tag "search[]", "product2" %>