【发布时间】:2015-08-11 13:09:43
【问题描述】:
我在使用禁用的复选框时遇到问题。
我尝试了两种方法。 第一:
= check_box "permissions", "permission_#{row}[create]", {checked: has_permission?(@user, permission, "create")}, 'true', 'false'
此复选框在视图内被禁用但也被选中,但提交时它在我的参数中的值如下所示:
"create"=>"false"
所以当我更新我的属性时,created 在我的参数中从 true 更改为 false。
如何将静止而不是false发送True,而不是错误,当检查禁用复选框时?
【问题讨论】:
-
尝试第一个,将
disabled标志设置为true,如下所示:<%= check_box "permissions", "permission_#{row}[create]", {checked: has_permission?(@user, permission, "create")}, 'true', 'false', disabled: true %>。这可能会将其排除在您的参数之外。虽然没有保证 -
参数中没有的复选框应被视为错误。仅在选中时才将其视为 true。
-
当一个html表单域被禁用时,它不会返回给服务器,所以它只会返回隐藏域的值(这将是假的)如果你想返回
true对于禁用的字段,您要么需要更新隐藏字段,要么拥有自己的隐藏字段以向您发送正确的值。
标签: html ruby-on-rails ruby-on-rails-4