【发布时间】:2016-04-05 07:59:56
【问题描述】:
在我的应用程序中,我为一个名为“级别”的数组提供了一些复选框,每个复选框看起来像这样(只是具有不同的值):
<%= f.check_box(:level, { :multiple => true, :id => 'level1', :class => 'input_values levels' }, 'All', 'false') %>
我的问题是,当我选中一个框时,我得到了值和“假”。如果我将“false”设置为 nil,则取消选中该框时将一无所获。
例如,如果我可以选择 - 全部 - 容易(检查) - 中级(检查) - 硬
我需要“级别”数组来打印出这样的内容:
['假','容易','中级','假']
现在它正在打印如下内容:
['假','假','容易','假','中级','假']
我的 ActiveRecord::Base
serialize :level, Array
我的控制器
def gamesession_params
params.require(:gamesession).permit(:players, :flares, :aliens, :gamesetup, expansion:[], level:[])
end
【问题讨论】:
-
在 ruby 中,“假”(字符串)为真。所以最好将其设置为 nil 而不是“假”