gpt4 book ai didi

ruby - 在 Rails Engine 中使用 Ability 类

转载 作者:太空宇宙 更新时间:2023-11-03 16:55:09 25 4
gpt4 key购买 nike

我在名为 Support 的 lib 文件夹中有一个引擎。在该文件夹中,我有一个 Ticket Controller 。

我在主应用程序中创建了一个能力类,我正试图管理管理员角色的所有模型。当我调用 Tickets Controller 时,它抛出错误:

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

最佳答案

如果模型类的命名空间不同于 Controller ,您将需要指定 :class 选项。

module Support
class TicketsController < ApplicationController
load_and_authorize_resource :class => Support::Ticket
end
end

关于ruby - 在 Rails Engine 中使用 Ability 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12053688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com