Ruby on rails Rails-如何使条件单选按钮处于选中状态?
给定这样一个单选按钮:Ruby on rails Rails-如何使条件单选按钮处于选中状态?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,给定这样一个单选按钮: <%= radio_button_tag 'permission[role_id]', '2' %> 如何使单选按钮处于选中状态。仅在@permission.role\u id.nil时检查?或者@permission.role\u id==2 我试过: <%= radio_button_tag 'permission[role_id]', '2', @permission.role_id.nil? ? {:checked => true}
<%= radio_button_tag 'permission[role_id]', '2' %>
如何使单选按钮处于选中状态。仅在@permission.role\u id.nil时检查?或者@permission.role\u id==2
我试过:
<%= radio_button_tag 'permission[role_id]', '2', @permission.role_id.nil? ? {:checked => true} : {:checked => false} %>
true}:{:checked=>false}%>
谢谢说checked
不是选项散列参数,它只是一个普通参数:
radio_button_tag(name, value, checked = false, options = {})
因此,您需要这样做:
<%= radio_button_tag 'permission[role_id]', '2', !!(@permission.role_id.nil? || @permission.role_id == 2) %>
忽略了对原始问题中要求的@permission.role_id==2的情况进行说明。另外,为什么不直接使用:checked=>@权限。角色\u id.nil?
sans?更多的是Ruby-esque。只是尝试了一下,但运气不好。还必须更新它,以解决上述两个用例。。。思想?(@permission.role_id.nil?| |(@permission.role_id==2)?真:假)}%>奇怪,甚至做了{:checked=>(@permission.role_id==2?假:假)}总是被检查true@coreyward感谢您的反馈-我现在正在使用“双重爆炸”。@AnApprentice-我已经编辑了答案-问题是,checked
没有传递到选项哈希中,它只是一个标准参数。