2

我在名为 Support 的 lib 文件夹中有一个引擎。在那个文件夹中,我有一个Ticket控制器。

我在主应用程序中创建了一个能力类,我正在尝试为管理员角色管理所有模型。当我调用Tickets控制器时,它会引发错误:

NameError in Support::TicketsController#index uninitialized constant Ticket

app/model/ability.rb文件是:

class Ability 
  include CanCan::Ability

  def initialize(user)
    user ||= User.new
    if user.role? == :admin
      can :manage , :all
    end
  end
end

lib/support/tickets_controller.rb文件是:

module Support
  class TicketsController < Support::ApplicationController
    load_and_authorize_resource
    respond_to :html, :xml, :json

    def index
    end
  end
end
4

1 回答 1

0

如果模型类的命名空间与控制器不同,则需要指定该:class选项。

module Support
  class TicketsController < ApplicationController
    load_and_authorize_resource :class => Support::Ticket
  end
end
于 2012-08-22T08:33:52.170 回答