我在名为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
答案 0 :(得分:0)
如果模型类的名称空间与控制器不同,则需要指定:class
选项。
module Support
class TicketsController < ApplicationController
load_and_authorize_resource :class => Support::Ticket
end
end