首页 > 解决方案 > 在 Rails 开发中完成 500 内部服务器错误

问题描述

在开发我的 Rails 应用程序时,我遇到了 Completed 500 Internal Server Error。我正在关注开发的在线教程,它以前运行良好。但是,从今天开始,如果我尝试渲染页面而不是正常的“是的,你在 Rails 上!”,它会给我这个错误。页。

  Rendering messages/index.html.erb within layouts/application
  Rendered messages/index.html.erb within layouts/application (Duration: 0.6ms | Allocations: 199)
Completed 500 Internal Server Error in 19ms (ActiveRecord: 0.0ms | Allocations: 6751)

我已经在 config/routes.rb 中正确定义了我的路由(路由到消息#index),我已经在 app/controllers/message_controller.rb 中定义了一个适当的控制器,并且我已经为消息#index 定义了一个适当的视图,但它仍然一直给我这个错误。

日志只包含上面的片段,当我从网上检查时,似乎没有任何有用的信息可供我调试。

任何帮助表示赞赏,谢谢!

标签: ruby-on-railshttp-status-code-500

解决方案


我通过“rails s -e test”发现了问题!它详细显示了错误消息,它说表 Messages 不存在,尽管它确实存在。

然后我通过从Rails 中删除 test/fixtures 中的 messages.yml 来解决它:旧的,不存在的数据库表会导致测试出错。虽然不知道为什么它会因为删除此文件而起作用,但感谢您的回答!


推荐阅读