在我的应用程序中,我有一些名为"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) %>