gpt4 book ai didi

ruby-on-rails - Rails : method defined in application_helper. rb 无法被 categories_controller.rb 识别

转载 作者:行者123 更新时间:2023-12-04 06:32:24 30 4
gpt4 key购买 nike

更多新手问题。

我知道,如果我在我的应用程序帮助程序中定义了一个方法,那么整个应用程序代码都可以使用它。

在我的应用程序助手中,我有:

def primary_user_is_admin

if current_user
user_login_roles = JSON.parse(current_user.role)
if user_login_roles["admin"]
return 1
end
end
return nil
end

如果我从 categories_controller 调用它:
if !primary_user_is_admin
redirect_to root_url
end

我收到一条错误消息:未定义的局部变量或方法 `primary_user_is_admin'

如果我将 primary_user_is_admin 代码放在 registrations_helper.rb 文件中,也会发生这种情况

但是,如果我在任何 View 中使用它(例如,views/user/edit.html.erb)
<% if primary_user_is_admin %>
<% end >

然后它工作。我错过了什么?

最佳答案

默认情况下,助手不包含在 Controller 中。你可以

include ApplicationHelper

访问 ApplicationHelper 模块中的方法。 previous discussion有一堆有用的解决方案来访问 Controller 中的助手。

关于ruby-on-rails - Rails : method defined in application_helper. rb 无法被 categories_controller.rb 识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10935602/

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