gpt4 book ai didi

ruby-on-rails - CanCanCan 用于没有模型的自定义 Controller

转载 作者:行者123 更新时间:2023-12-05 07:44:30 24 4
gpt4 key购买 nike

我知道如何在 Rails 5 中使用 CanCan 限制对 RESTful 应用程序的访问。

我的一些操作和 Controller 不是 RESTful。

例如,我有一个带有 user_report 方法的 report_controller。没有模型直接链接到此 Controller /操作。

class ReportController < ApplicationController

load_and_authorize_resource

def user_report

end

end

如何在我的 ability.rb 文件中定义一个能力来限制对此操作的访问?

最佳答案

ability.rb 中定义如下自定义能力:

can :view_reports, MyClass

在您的user_report 操作中,手动授权反对该能力:

def user_report
authorize! :view_reports, MyClass
# ...
end

此外,从 ReportController 中删除 load_and_authorize_resource,因为您正在直接调用 authorize!

关于ruby-on-rails - CanCanCan 用于没有模型的自定义 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42835442/

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