Ruby 在发动机中使用CanCan。Ability.rb示例

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

我是rails开发的新手,我正在尝试创建我的第一个引擎。此引擎可用于授权和限制用户权限

我在我的引擎中有一些权限,我想在我的主应用程序中继承它们

例如:

我的引擎中的文件
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?'