要使用cancan创建支持Rails授权的应用程序,开发人员可以决定角色方法是什么。现在我需要找出最适合我的情况 - 它是传统的单用户角色模型。
我发现的方法似乎与我非常相似。我想知道在选择榜样时是否真的存在技术差异,或者仅仅是偏好问题?如果存在技术差异,那么在选择一种模式或另一种模式时需要权衡什么,特别是关于缩放?
我可以找到一些可能的模型:
在评论中比较这些方法的文章的观点值得赞赏,因为我找不到比较它们的更多材料。
答案 0 :(得分:1)
如果您每次使用只需要一个角色,请使用最简单的方法。
ROLES = %w{System\ Admin Admin Customer Etc}
角色助手:
ROLES.each do |role_name|
define_method "#{role_name.downcase.tr(" ", "_")}?" do
role == role_name
end
end
如果需要,您可以在将来轻松利用更复杂的选项。