复选框:按条件检查

时间:2013-05-22 14:55:50

标签: ruby-on-rails

我有一个复选框,如果参数等于1,我希望检查复选框。所以我需要:如果条件为真,则检查为仅为真。

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

我正在测试的当前状况不起作用。当表单提交时,会自动添加或减去param,因为它链接回同一页面。

2 个答案:

答案 0 :(得分:4)

API说: Rails check_box_tag

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

因此,您可以在一行中改进这一点:

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

答案 1 :(得分:3)

对此使用if,因为: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 %>
相关问题