我有 5 个用户可以在我的 rails 站点中拥有的角色
- @roles.each do |role|
%label.radio
= radio_button_tag 'user[role_ids][]', role.id, @user.has_role?(role.name)
= role.name
我想做的是基于 current_user 角色我想禁用它们或完全隐藏它们
我正在考虑以这种方式实现它,但它看起来不太干净......任何想法
我想添加这个
:disabled => disable_role?(current_user, role.name)
和
def disable_role?(current_user, role_name)
case
when role_name == 'superadmin' and current_user.superadmin?
return false
when role_name == 'admin' and (current_user.superadmin? || current_user.admin?)
return false
when role_name == 'standard' and (current_user.superadmin? || current_user.admin?)
return false
else
return true
end
end
我还有其他条件,但我想向您展示我的方法的一个例子它似乎不像 rubylike....任何其他建议