2017-03-16 61 views
1

我在app/models/conversation.rb中有一個名爲Conversation的模型,在app/lib/messages/conversation.rb中有一個名爲Messages::Conversation的類。當我嘗試調用Conversation從控制檯(期望得到的模型),它返回:LoadError:無法自動加載常量

 

    [1] pry(main)> Conversation 
    LoadError: Unable to autoload constant Conversation, expected .../application/app/lib/messages/conversation.rb to define it 
    [2] pry(main)> Messages::Conversation 
    => Messages::Conversation 

我也叫Message類似上述Conversation模型/班。由於我正在命名這些空間,爲什麼還要在我的Messages::Conversation文件中尋找Conversation而不是Conversationapp/models

這是否與messages文件夾和Message型號有關?如果我將app/lib/messages/...重命名爲app/lib/messages_test/...,則一切都按預期工作。

+0

嘗試'::對話' –

+0

我試過並得到了相同的'LoadError:無法自動加載...'錯誤,它正在查看'messages/conversation' – chrisjacob

+0

您可以添加文件路徑和文件夾嗎?我敢打賭這是你的文件路徑的問題。 – Taysky

回答

0
Before 

# config/application.rb 
config.autoload_paths += Dir["#{config.root}/lib/**/"] 

After 

# config/application.rb 
config.autoload_paths += Dir["#{config.root}/app/models/"] 
config.autoload_paths += Dir["#{config.root}/lib/**/"] 

檢查你的config/application.rb並查看它是否在你做這些調整時有效。不是100%確定它是否可以工作。

+0

在我遇到這個問題之前,後面實際上是如何設置我的'autoload_paths'。不幸的是,這些都沒有修復它。 – chrisjacob

相關問題