gpt4 book ai didi

ruby-on-rails - 仅在生产中发现 Controller 问题

转载 作者:数据小太阳 更新时间:2023-10-29 08:59:32 33 4
gpt4 key购买 nike

我的应用程序在 app/controllers/api/V2/concerns 中有许多 Controller 问题

当我在开发中处理此问题时,一切正常。但是,一旦我投入生产,当 Rails 服务器启动时,我会收到以下错误:Uninitialized constant Concerns::MyConcern (NameError)

我的担忧是这样的:

module Api::V2
module Concerns
module MyConcern
extend ActiveSupport::Concern

def some_method(some_arg)
# some stuff here
end

end
end
end

我在我的生产环境和开发环境中都设置了 config.eager_load = true 以尝试使它们尽可能一致;然而,在生产中仍然没有看到这个错误发生。

奇怪的是,如果我注释掉我在 Controller 中包含问题的区域,应用程序会设法启动;然后,当我转到生产服务器上的 rails 控制台并查看是否可以访问 Api::V2::Concerns::MyConcern 时,我可以毫无错误地访问它。这让我认为存在某种自动加载问题,在 Controller 中调用关注点时未加载关注点;然而,我的印象是 Rails 会自动加载 app/文件夹中的所有内容,只有/lib 等区域必须明确添加。

仅供引用,我的 Controller 位于 app/controllers/api/V2/my_controller.rb

知道这里会发生什么吗?

最佳答案

很可能是您路径中的 V2 组件导致了这里的问题。在不区分大小写的文件系统上,这将被解析为有效的 v2。在区分大小写的文件系统上,它将寻找 app/controllers/api/v2/concerns/my_concern.rb,它不存在,也不会加载。

关于ruby-on-rails - 仅在生产中发现 Controller 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39839997/

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