gpt4 book ai didi

ruby-on-rails-4 - cancan 的 load_and_authorize_resource 中的自定义实例变量名称?

转载 作者:行者123 更新时间:2023-12-05 03:14:04 25 4
gpt4 key购买 nike

用户 Controller .rb

class UsersController < ApplicationController  
def index
@objects = User.filter(params: params)
end
end

Q.1 > 如果调用“load_and_authorize_resource”,那么它将加载什么实例变量?
Q.2 > 如果它加载@user 或@users 那么如何让它加载到@object 上?

我认为我缺乏足够的知识来理解 cancan(我是一个 Rails 新手)并且自从过去 4 天以来一直在使用它,希望这个问题是有道理的。

最佳答案

如果实例变量已经设置,则不会加载资源。这使得通过某些操作的 before_filter 覆盖行为变得容易 - 来自 cancan https://github.com/ryanb/cancan/blob/master/lib/cancan/controller_additions.rb第 34 和 35 行,所以你可以在你的 Controller 中这样做——

before_filter :set_instance_variable  
load_and_authorize_resource
private
def set_instance_variable
@object = "blah blah blah"
end

load_and_authorize_resource 应在设置实例变量后调用,即在“before_filter :set_instance_variable”之后调用

关于ruby-on-rails-4 - cancan 的 load_and_authorize_resource 中的自定义实例变量名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27245434/

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