gpt4 book ai didi

ruby-on-rails - rails : Scope: making a method available to all Views and Controllers

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

几天来,我一直在与范围作斗争。我想为所有 View 和 Controller 提供少量方法。
假设代码是:

def login_role
if current_user
return current_user.role
end
return nil
end

如果我将它包含在 application_helper.rb 中,那么它仅适用于所有 View,但不适用于所有 Controller

如果我将它包含在 application_controller.rb 中,那么它可用于所有 Controller ,但不适用于所有 View 。

最佳答案

使用 helper_method 您的 ApplicationController 中的方法授予 View 访问权限。

class ApplicationController < ActionController::Base

helper_method :login_role

def login_role
current_user ? current_user.role : nil
end

end

考虑将所有相关方法放在它们自己的模块中,然后您可以像这样使它们全部可用:
helper LoginMethods

关于ruby-on-rails - rails : Scope: making a method available to all Views and Controllers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11294955/

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