2013-03-18 40 views
0

以下代码将在下拉列表中列出type更改复选框列表Rails

如何将此下拉列表更改为复选框列表?

<%= search_form_for @q do |f| %> 
    <%= f.label :name_cont %> 
    <%= f.text_field :name_cont %> 
    <%= f.label :type, "Type"%> 
    <%= f.select :type_id_eq, PartType.all.map{|x| [x.name, x.id]} %> 
    <br/><br/> 
    <%= f.submit %> 
<% end %> 
+0

@jvnill我不知道详情是什么原因改变了这一点,但我的朋友请求我做这些改变。那么如何改变这一点? – muhihsan 2013-03-18 08:48:21

+0

我已经用'simple_form'创建了它,但我不确定如何使用'search_form_for'来完成它。 'search_form_for'是否带有任何宝石? – 2013-03-18 08:48:23

+0

@HélioSantos它带有搜索引擎 – muhihsan 2013-03-20 06:37:46

回答

1

因为您想将选择更改为复选框列表,您应该期望控制器中有一个数组。这不是您的要求的一部分,所以我只是要转换下拉菜单。

<% PartType.all.each do |part_type| %> 
    <%= check_box_tag 'type_id_eq[]', part_type.id %> 
    <label><%= part_type.name %></label> 
<% end %> 
+0

我刚刚在2周的时间里学习了rails。非常感谢,这真的很有帮助。 – muhihsan 2013-03-18 09:21:41

+0

'<%PartType.all.each do | part_type | %> <%= check_box_tag'type_id_eq []',part_type.id%>'我已经使用您提到的代码进行了更改,它显示了包含part_type列表的复选框,但当点击提交时,此搜索按钮不想根据我点击的部分过滤结果,你知道为什么吗? – muhihsan 2013-03-20 06:56:43