【发布时间】:2017-12-21 19:41:12
【问题描述】:
我希望在我的 rails 应用程序中拥有 3 个用户级别,分别是管理员、经理、客户。 所以我创建了 3 个设计模型作为管理员、经理和客户。 在我的应用程序中,有产品、交付、服务的模型和控制器。 我想为每个模型设置访问级别。
因此管理员可以访问所有模型、控制器
经理有权访问产品、交付
客户可以访问服务
我如何编写能力模型来满足这些要求 我写的如下,不知道对不对。
class Ability
include CanCan::Ability
def initialize(user)
# Define abilities for the passed in user here. For example:
#
user ||= User.new # guest user (not logged in)
if user.admin?
can :manage, :all
elsif user.manager?
can :manage, product ,delivery
elsif user.customer?
can :manage, services
end
end
并请帮助我为模型编写代码以限制不同的用户角色访问。 请善待我!
【问题讨论】:
标签: ruby-on-rails ruby devise cancan