我有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 ....任何其他suggetions
但它不只是檢查用戶是否具有該角色....例如,管理員用戶可以將用戶更改爲admin,標準但不是superadmin – Trace