Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails LoadError:无法自动加载常量_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails LoadError:无法自动加载常量

Ruby on rails LoadError:无法自动加载常量,ruby-on-rails,ruby,Ruby On Rails,Ruby,我在app/models/Conversation.rb中有一个名为Conversation的模型,在app/lib/Messages/Conversation.rb中有一个名为Messages::Conversation的类。当我试图从控制台调用对话时(期望得到模型),它返回: [1] pry(main)> Conversation LoadError: Unable to autoload constant Conversation, expected .../application

我在
app/models/Conversation.rb中有一个名为
Conversation
的模型,在
app/lib/Messages/Conversation.rb中有一个名为
Messages::Conversation
的类。当我试图从控制台调用
对话时(期望得到模型),它返回:

[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 [1] 撬(主)>对话 LoadError:无法自动加载常量对话,需要…/application/app/lib/messages/Conversation.rb来定义它 [2] pry(主)>消息::对话 =>消息::对话 我还有一个名为
Message
的模型/类,类似于上面的
Conversation
。既然我正在给这些文件命名,为什么还要在我的
Messages::Conversation
文件中查找
Conversation
,而不是在
应用程序/模型中查找
Conversation

它是否与拥有
messages
文件夹和
Message
模型有关?如果我将
app/lib/messages/..
重命名为
app/lib/messages\u test/..
,一切都会正常工作

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%确定它是否能工作。

尝试
::对话
我尝试了,但得到了相同的
加载错误:无法自动加载…
错误,它正在查看
消息/Conversation
您能添加文件路径和文件夹吗?我打赌这是你的文件路径有问题。后面是我遇到这个问题之前设置的
自动加载路径。不幸的是,这两个问题都没有解决。