0

假设我有 4 个角色:user, agent, admin, superadmin.

每个角色随后对我的应用程序中的所有对象拥有更多权限。

我正在使用 Rolify、CanCan 和 Devise。

我想做的是,每当我想启用某些东西时-说:

<%= link_to "Create New User", new_user_registration_path if current_user.has_role? :superadmin %>

我希望该链接显示此人是 anadmin还是superadmin. 我知道我可以简单地做一个||- 但这似乎不是很干,特别是因为我必须做current_user.has_role? :superadmin || current_user.has_role? :admin

agent, admin & superadmin想象一下,我想访问一些链接/资产。

我如何以干燥的方式做到这一点?

4

1 回答 1

1

为什么你检查角色而不是检查权限?据我所知,cancan 支持can?cannot?方法可以帮助您解决问题。你应该写这样的东西

<%= link_to "Create New User", new_user_registration_path if can?(:create, User) %>

关于此功能的有用链接

于 2012-12-14T23:23:44.740 回答