Rails复选框重置为默认值

时间:2012-05-03 00:10:46

标签: ruby-on-rails ruby-on-rails-3.2

我的视图中有几个复选框设置为默认为活动状态:

<%= check_box "product[pr_attributes]", "ag_type", {:checked => @product.issenior?, :multiple => true, :checked => true}, checked_value = "ag:senior", unchecked_value = nil %>Senior(65-100)

问题是,当我取消选中其中一个默认值并保存更改时,它会默认返回到已检查状态。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

您的意思是:checked有两个选项键吗?

大多数情况下,第二个:checked => true会导致您的问题。

答案 1 :(得分:0)

我认为在您的情况下执行此操作的最佳方法是使用check_box_tag,因为您为一个属性做了多个答案

语法

  

check_box_tag“id”,“value”,“boolean_if_checked”

所以在你的情况下:

  

&lt;%= check_box_tag“product [pr_attributes] []”,“ag_type”,@ product.issenior?,{}%&gt;

然后在@ product.issenior?

之后添加哈希上的其他属性

这样,您可以为pr_attributes创建多个复选框,然后在提交表单时,pr_attributes将是您选择的数组。