2013-05-22 162 views
2

我有一個複選框,我希望複選框被檢查,如果一個參數等於1.所以我需要:如果條件爲真,只檢查爲真。複選框:檢查條件

<%= check_box_tag 'catalog_image', 1, :onclick => 'this.form.submit()', :checked => (params[:catalog_image] == 1)%> 

我正在測試的當前條件不起作用。當表單提交時,參數將被自動添加或減去,因爲它被鏈接回同一頁面。

回答

3

的API說: Rails check_box_tag

check_box_tag(name, value = "1", checked = false, options = {}) public 

所以,你可以在一個單一的提高這line:

<%= check_box_tag 'catalog_image', 1, <CONDITION>, :onclick => 'this.form.submit()' %> 
+0

這是更好的答案。 – Aeramor

2

使用,如果到這一點,因爲:checked標記,重要的存在,而不是它的價值

<% if params[:catalog_image] == 1 %> 
    <%= check_box_tag 'catalog_image', 1, :onclick => 'this.form.submit()', :checked =>true %> 
<% else %> 
    <%= check_box_tag 'catalog_image', 1, :onclick => 'this.form.submit()'%> 
<% end %> 
+0

'<%= check_box_tag:some_boolean,true, (@somestring =='true') - %>' Works just fine – Aeramor