我的應用程序在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