2016-04-05 19 views
1

我我的應用我有所謂的「級別」的數組一些複選框,每一個看起來是這樣的(只是不同的值)f.check_box同時返回true和false:Rails的,當檢查

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

我問題是,當我檢查一個框時,我得到了這個值和'false'。如果我將「假」設置爲零,當我取消選中該框時,我什麼也得不到。

如果我舉例來說,有 之間的選擇 - 所有 - 易(選中) - 中間體(選中) - 硬

我需要的「級別」陣列打印出來是這樣的:

[ '假', '方便', '中間', '假']

現在它打印出這樣的事:

[ '假', '假', '容易', '假', '中間', '假']

我的ActiveRecord ::基地

serialize :level, Array 

我控制器

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

是真的.. 所以倒不如將其設置爲無,而不是「假」 – siegy22

回答

1

top comment in the API指出正確,您的'false'必須是nil

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

在紅寶石「假」(字符串)
+0

感謝您的回答!但我的問題是,如果它被設置爲零,那麼它將不會將任何東西推到我的數組當它是假的。我需要它在數組中聲明爲false。 – Candielope

+0

可悲的是你沒有發佈你的數據模型,但我懷疑它可以改進。無論陣列中的值是否爲零都不應該影響到你。 –