检查rails中的多个复选框

时间:2014-03-25 19:21:57

标签: ruby-on-rails checkbox

尝试使用字符串字段的复选框时出现问题。

基本上,我需要做的是在我的表中有一个字段,例如名为category,并有复选框将值传递给它。

我遇到的问题是,如果我点击多个框,它只会保存最后点击的值。

我的_form代码:

<%= f.check_box:category," Category1",nil%> <%= f.label:"类别1" %GT;
<%= f.check_box:category," Category2",nil%> <%= f.label:"类别2" %GT;
<%= f.check_box:category," Category3",nil%> <%= f.label:"类别3" %GT;

经过一番研究,我发现添加":multiple =>真"会解决它,但唯一的办法就是不给它一个价值。 有没有人能帮助我?谢谢您的时间:))

2 个答案:

答案 0 :(得分:0)

试试这个

控制器

@categories = Category.all

视图

<%@categories.each do |cat|%>
<%= check_box_tag "categories[]", cat.name %>
<% end %>

cat.id

答案 1 :(得分:0)

在保存到数据库中时序列化category属性。在model中添加以下行:

    serialize :category, Array

此外,如果您正在使用Rails 4,那么在控制器类允许category中作为数组,只要您允许参数。

params.require(:modelname).permit(:attr1, :attr2, :category => [])