【问题标题】:500 error message rails heroku500 错误消息 rails heroku
【发布时间】:2018-01-09 19:02:35
【问题描述】:

在 Heroku 上保存记录或对我的数据库发出 POST 或 DELETE 请求时出现错误。这是我第一次在 heroku 上部署 rails 应用程序,我不知道是什么导致了这个问题。我也在网上搜索并阅读了日志,但仍然没有任何原因。奇怪的是记录被保存了,但它显示了 500 条消息。

删除方法:

def destroy if @contact.destroy flash[:success] = "Successfully deleted contact" redirect_to root_path else flash[:warning] = "Problem encountered while deleting the current contact." end end

日志:

2017-08-02T12:29:20.368457+00:00 应用 [web.1]: D, [2017-08-02T12:29:20.368375 #4] 调试——: [486f4051-00b0-4d23-8d56-6de722606384] (1.5ms) 开始 2017-08-02T12:29:20.371200+00:00 应用 [web.1]: D, [2017-08-02T12:29:20.371130 #4] 调试 -- : [486f4051-00b0-4d23-8d56-6de722606384] SQL (1.9ms) 删除 "联系人" WHERE "联系人"."id" = $1 [["id", 2]] 2017-08-02T12:29:20.374283+00:00 应用 [web.1]: D, [2017-08-02T12:29:20.374212 #4] 调试——: [486f4051-00b0-4d23-8d56-6de722606384] (2.8ms) 提交 2017-08-02T12:29:20.376028+00:00 应用 [web.1]: D, [2017-08-02T12:29:20.375962 #4] 调试——: [486f4051-00b0-4d23-8d56-6de722606384] 触点移除 (1.4ms) {"id":2,"exception":["Faraday::ConnectionFailed","打开 TCP 失败 连接到 localhost:9200(连接被拒绝 - connect(2) for \"localhost\" 端口 9200)"],"exception_object":"打开 TCP 失败 连接到 localhost:9200(连接被拒绝 - connect(2) for \"localhost\" 端口 9200)"} 2017-08-02T12:29:20.376531+00:00 应用程序[web.1]:我,[2017-08-02T12:29:20.376443 #4] 信息——: [486f4051-00b0-4d23-8d56-6de722606384] 完成500内部服务器 20 毫秒内的错误(Searchkick:1.4 毫秒 | ActiveRecord:10.5 毫秒) 2017-08-02T12:29:20.377484+00:00 应用 [web.1]: F, [2017-08-02T12:29:20.377420 #4] 致命——: [486f4051-00b0-4d23-8d56-6de722606384] 2017-08-02T12:29:20.377573+00:00 应用 [web.1]: F, [2017-08-02T12:29:20.377489 #4] 致命——: [486f4051-00b0-4d23-8d56-6de722606384] 法拉第::ConnectionFailed (无法打开到 localhost:9200 的 TCP 连接(连接被拒绝 - 连接(2)“本地主机”端口 9200)): 2017-08-02T12:29:20.377644+00:00 应用 [web.1]: F, [2017-08-02T12:29:20.377572 #4] 致命——: [486f4051-00b0-4d23-8d56-6de722606384] 2017-08-02T12:29:20.377714+00:00 应用 [web.1]: F, [2017-08-02T12:29:10.377644 #4] 致命——: [486f4051-00b0-4d23-8d56-6de7226w06384] app/controllers/user/contacts_controller.rb:27:in ``destroy' 2017-08-02T12:29:29.530605+00:00 heroku[路由器]: at=info method=GET path="/user/contacts" 主机=hhjjh.herokuapp.com request_id=62545ba4-c37b-4167-bcf8-24a403638sd0 fwd="194.201.21.36" dyno=web.1 连接=1ms 服务=17ms 状态=200 字节=7664 协议=https

【问题讨论】:

  • 似乎弹性搜索服务器没有启动。
  • 您确定您的连接处理正确吗? “ 无法打开到 localhost:9200 的 TCP 连接(连接被拒绝 - “localhost” 端口 9200 的连接(2))“ 您正在部署到 heroku,它正在尝试与 localhost 连接?
  • 另外你确定你的databse.yml 是正确的吗?你必须有这样的东西:生产:
  • @gabriel 记录被保存,但没有进行正确的重定向。如果没有,它还会保存吗?
  • 仅供参考,您可以先执行简单的Record.find(id).destroy,然后再执行raise "Stop",运行此代码仍会破坏记录(除非在使用raise 的数据库事务中)但会在@987654325 上失败@ 线。您的问题与destroy调用无关(因为它是成功的),它在其他地方。

标签: ruby-on-rails heroku


【解决方案1】:

解决方法是添加heroku提供的elasticsearch插件,重新迁移数据库。谢谢大家:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-08
    相关资源
    最近更新 更多