使用洗劫的宝石,我能够实现使用复选框一定值的搜索。 然而,这并没有超过一个复选框工作。 我在想什么?
视图:
<%= search_form_for @search do |f| %>
Part Time:<%= check_box_tag "q[job_type_cont]", value = "Part time" %></br>
Full Time:<%= check_box_tag "q[job_type_cont]", value = "Full time" %></br>
<%= f.submit "Search" %>
<% end %>
索引操作:
def index
@search = Job.search(params[:q])
@jobs = @search.result
end
[:Q]你的观点总是在PARAMS只发送一个值:job_type_cont]它会随着要么兼职或全职的时间接收多个值的字符串,则需要将其更改为一个数组(您需要更改复选框名属性)如下
Part Time: <%= check_box_tag "q[job_type_cont][]", "Part time" %></br>
Full Time: <%= check_box_tag "q[job_type_cont][]", "Full time" %>
与上述实施方式中,在控制器PARAMS [:Q] [:job_type_cont]将与从视图中选定值的数组
Kalpesh建议
Part Time: <%= check_box_tag "q[job_type_cont][]", "Part time" %></br>
Full Time: <%= check_box_tag "q[job_type_cont][]", "Full time" %>
同
@search = Job.search(job_type_in: params[:q][:job_type_cont])
@jobs = @ search.result
这是真正的意思的一种迂回的方式:
Part Time: <%= check_box_tag "q[job_type_in][]", "Part time" %></br>
Full Time: <%= check_box_tag "q[job_type_in][]", "Full time" %>
这样就没有必要在你的控制器搞笑的业务:
@search = Job.search(params[:q])