寻找一些关于在我们最新的rails3项目中使用cancan的一般建议和技巧。
我们正在构建一个内部使用的订单系统,并提供有限的客户访问权限。其中包括:
超级管理员超级帐户超级客户管理客户端帐户客户端
在我们的观点中,我们以前使用了以下几种组合:
<% (如果可以):管理用户%>
和
<%若current_user.role_ids.include?(2) %>
我怀疑后者是不好的做法,并希望找出如何最好地实现同样的方法。
我们也对如何处理许多角色感到有点困惑。
提供对多个用户组的访问的最佳方法是什么-即超级管理员和超级技术?
发布于 2011-06-27 04:16:11
我认为最好的替代方案
<% if current_user.role_ids.include?(2) %>是为模型中的每个角色创建一个方法,例如:
class Company < ActiveRecord::Base
.
.
def super_admin?
self.role_ids.include?(2)
end
.
.这样,您将从视图中删除查询逻辑,并将其保留在控制器上,您还可以通过以下操作访问这些角色:
<% if current_user.super_admin? %>希望它有帮助:)
https://stackoverflow.com/questions/6405013
复制相似问题