Ruby 在发动机中使用CanCan。Ability.rb示例
我是rails开发的新手,我正在尝试创建我的第一个引擎。此引擎可用于授权和限制用户权限 我在我的引擎中有一些权限,我想在我的主应用程序中继承它们 例如: 我的引擎中的文件Ruby 在发动机中使用CanCan。Ability.rb示例,ruby,cancan,rails-engines,Ruby,Cancan,Rails Engines,我是rails开发的新手,我正在尝试创建我的第一个引擎。此引擎可用于授权和限制用户权限 我在我的引擎中有一些权限,我想在我的主应用程序中继承它们 例如: 我的引擎中的文件app/models/my_engine/ability.rb module MyEngine class Ability include CanCan::Ability def initialize(user) user ||= MyEngine::User.new # guest user
app/models/my_engine/ability.rb
module MyEngine
class Ability
include CanCan::Ability
def initialize(user)
user ||= MyEngine::User.new # guest user
if user.role? "Admin"
can :manage, :all
else
can :read, :all
end
end
end
end
我的主应用程序中的文件app/models/ability.rb
class Ability < MyEngine::Ability
def initialize(user)
user ||= MyEngine::User.new # guest user
super(user)
can :create, SomeModel if user.manager?
end
end
但这不起作用-如果我在引擎中使用方法can?
,则会出现此错误:
undefined method `can?'
我做错了什么?关于github问题的一些讨论:关于github问题的一些讨论:
undefined method `can?'