-2
關於我在下面用來確定角色的紅寶石。紅寶石只是角色代碼
if current_user.try(:admin?) or current_user.try(:superuser?)
它可以簡化像(這個例子不工作)。
if current_user.try(:admin?||:superuser?)
編輯:
我可以使用助手來簡化呢?像
has_role([:admin?,:superuser?])
我的用戶模型具有枚舉的角色
enum role: [:user, :admin, :superuser]
如果你有很多的角色,也許看像的RoleModel寶石來定義的角色,而不是設定布爾標誌。更容易說出如current_user.has_any_role?(:admin,:realm_admin,:system_admin) – Doon
也許'current_user && [:admin ?,:superuser?]。any? {| role | current_user.send(role)}'? – spickermann
在Ruby中''或'不等於'||'。除非明確需要,否則不應將其用於布爾邏輯。 – meagar