14
<% if role.name == "Administrator" %>
     <%= f.radio_button:status,'available', :checked => (params[:status] == nil ? true : params[:status]) %><label>Available</label>
     <%= f.radio_button:_status,'not available' %><label>Not Available</label>
<% else %>
     <%= f.radio_button:_status,'available' %><label>Available</label>
     <%= f.radio_button:_status,'not available' %><label>Not Available</label>
<% end %>

默认情况下,我希望在available管理员和not available其他用户的情况下检查单选按钮和单选按钮。但是他可以更改它,并且在查看以进行编辑时,它应该显示他/她选择的那个,而不是默认的那个。

我怎样才能做到这一点?请帮我。

4

2 回答 2

37

试试下面的代码。

<%= f.radio_button:_status,'available', :checked => (role.name == "Administrator") %><label>Available</label>
<%= f.radio_button:_status,'not available', :checked => (role.name != "Administrator") %><label>Not Available</label>
于 2013-07-02T11:44:54.500 回答
1

如果您查看 rails radio_button_tag的文档,您会看到它接受以下参数:

radio_button_tag(name, value, checked = false, options = {})

所以下面的代码就足够了

<%= f.radio_button:_status,'available', role.name == "Administrator" %><label>Available</label>
<%= f.radio_button:_status,'not available', role.name != "Administrator" %><label>Not Available</label>

无需添加可能导致不良行为的“已检查”属性

于 2018-09-11T15:02:57.033 回答