Ruby on Rails 4.2.1 在一个视图中,我正在制作这样的复选框:
<%= check_box_tag('roles[' + role.name + '][' + perm.name + ']', 1, {checked: role.permissions.include?(perm)}) %>
但即使role.permissions.include?(perm)
返回false
我在视图中放了debugger
并仔细检查了这一点。当我进入调试控制台时,在视图内部:
check_box_tag('test', 1, {checked: false})
出来了:
"<input type=\"checkbox\" name=\"test\" id=\"test\" value=\"1\" checked=\"checked\" />"
这是Rails形式助手中的错误还是我错过了什么?
答案 0 :(得分:2)
您应该使用check_box_tag
之类的:
check_box_tag('test', 1, false, {})
阅读文档:
check_box_tag(name, value = "1", checked = false, options = {})
第三个参数应该是布尔值,但是您传递的哈希总是返回true
。