我在使用禁用复选框时遇到问题。
我尝试了两种方法。 第一:
= check_box "permissions", "permission_#{row}[create]", {checked: has_permission?(@user, permission, "create")}, 'true', 'false'
此复选框在视图内部被禁用但也被选中,但是在提交时它的值在我的参数中看起来像这样:
"create"=>"false"
所以当我更新我的属性时,我的参数中创建的从true变为false。
当选中禁用的复选框时,如何才能发送true而不是false?
答案 0 :(得分:1)
我认为您首先禁用这些复选框的原因是将权限设置为只读。但是,有人通过浏览器调试工具从复选框中删除disabled
标志非常容易,设置权限并提交。
因此,我建议在递交给模型之前从params
删除这些值,无论如何,例如将它们从允许的参数中排除,或者发布splice
。
这样您仍然会显示实际权限,但忽略任何未经授权更改它们的尝试。