如何根据不同的用户角色默认选中单选按钮?

时间:2013-07-02 11:15:28

标签: ruby-on-rails ruby-on-rails-3 radio-button

<% 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单选按钮。但他可以改变它,在查看编辑时,它应该显示他/她选择的那个,而不是默认的。

我该怎么做?请帮帮我。

2 个答案:

答案 0 :(得分:29)

请尝试以下代码。

<%= 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>

答案 1 :(得分:0)

如果您查看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>

无需添加可能导致不良行为的“选中”属性