Rails,f.check_box在选中时返回true和false

时间:2016-04-05 07:59:57

标签: ruby-on-rails checkbox

我的应用程序我有一个名为" level"的数组的复选框,每个都看起来像这样(只是使用不同的值):

<%= f.check_box(:level, { :multiple => true, :id => 'level1', :class => 'input_values levels' }, 'All', 'false') %>

我的问题是,当我选中一个方框时,我同时得到了值和“假”。如果我设置了“假”&#39;没有,当我取消选中此框时,我什么都没得到。

如果我举例,可以选择 - 全部 - 方便(选中) - 中间(检查) - 很难

我需要&#34;等级&#34;数组打印出这样的东西:

[&#39; false&#39;,&#39; easy&#39;,&#39; intermediate&#39;,&#39; false&#39;]

现在它打印出这样的东西:

[&#39; false&#39;,&#39; false&#39;,&#39; easy&#39;,&#39; false&#39;,&#39; intermediate&#39;,& #39;假&#39;]

我的ActiveRecord :: Base

serialize :level, Array

我的控制器

def gamesession_params
      params.require(:gamesession).permit(:players, :flares, :aliens, :gamesetup, expansion:[], level:[])    
end

1 个答案:

答案 0 :(得分:1)

top comment in the API指出正确,'false'必须为nil

<%= f.check_box(:level, { :multiple => true, :id => 'level1', :class => 'input_values levels' }, 'All', nil) %>