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



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

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

我的问题是,当我勾选一个框时,我会得到值和"false"。如果我将"false"设置为零,当我取消选中该框时,我将一无所获。

例如,如果我可以在-全部-易(勾选)-中间(已检查)-硬

我需要"级别"数组来打印出这样的东西:

["false"、"easy"、"intermediate"、"false"]

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

['false','false],'easy','false','intermediate','frase']

我的ActiveRecord::基本

serialize :level, Array

我的控制器

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

API中的顶部注释正确地指出了这一点,您的'false'必须是nil

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

最新更新