我正在尝试创建一个找到带复选框的产品的表单。我认为问题在于我没有将数组传递给我的控制器。有谁知道如何解决这个问题?
模型
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 %>
答案 0 :(得分:0)
两个复选框都是相同的:search
,因此只发送最后一个复选框。尝试这样的事情:
<%= check_box_tag "search[]", "product1" %>
<%= check_box_tag "search[]", "product2" %>