我的应用程序在app/controllers/api/V2/concerns
问题仅在生产找到控制器的担忧
一些控制器关注我在发展这方面的工作,一切正常。然而,当我推到生产,我得到以下错误,当铁轨服务器启动时: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
和开发环境尽可能地保持一致;但是,仍然没有看到这种错误发生在生产中。
奇怪的是,如果我将控制器中包含关注点的区域注释掉,应用程序就会启动;然后,当我转到生产服务器上的Rails控制台并查看是否可以访问Api :: V2 :: Concerns :: MyConcern时,我可以无错地访问它。这让我觉得有些自动加载问题会在控制器中调用关注时未加载的情况下进行;然而,我的印象是,Rails自动加载了应用程序/文件夹中的所有内容,只有/ lib等区域必须明确添加。
作为一个仅供参考,我的控制器坐在app/controllers/api/V2/my_controller.rb
任何想法可能在这里发生了什么?
你可以尝试重新启动生产服务器..? –
我试过重新启动服务器,甚至一起部署到另一个提供程序(Heroku)并得到完全相同的错误 – Karim
这是否称为'my_concern.rb'?你确定它全是小写吗?有时候你的本地开发系统不区分大小写,生产不是。 – tadman