【问题标题】:Need help diagnosing a 500 error in Heroku需要帮助诊断 Heroku 中的 500 错误
【发布时间】:2016-01-26 20:14:01
【问题描述】:

我为一个使用天气 API 在单个页面上显示本地天气的类构建了一个 webapp。我已将应用程序上传到 Heroku,但是当我尝试查看该页面时,我收到 500 错误。我查看了日志,但我无法准确解读出什么问题。有人可以看看日志并指出出了什么问题吗?

这里是日志的链接:https://gist.github.com/allredbm/70daea5a4c372c644cac

【问题讨论】:

  • 你能把app/controllers/home_controller.rb:18中的内容贴出来吗?
  • 这是第 18 行的内容:“@location = response["location"]["city"]"。我不知道为什么这对 Heroku 不起作用,因为它在 rails 服务器中没有任何错误。
  • 这意味着 response["location"] 为空(nil 或空)
  • 问题是 Heroku 需要我的 API 密钥来定义位置。感谢您的帮助!

标签: ruby-on-rails heroku


【解决方案1】:

错误如下:

app/controllers/home_controller.rb:18:in `index'
NoMethodError (undefined method `[]' for nil:NilClass)

在您的home_controllerindex 操作)的18 行上,您正在使用[] 引用一个变量。变量未定义。

在尝试引用变量之前,您需要确保已定义该变量。

【讨论】:

  • 问题是 Heroku 需要我的 API 密钥来定义变量。现在可以了。谢谢!
  • 谢谢哥们,很高兴它有帮助!
【解决方案2】:

您可以通过以下任一方式查看整个回溯:

  • config/environments/production.rb 中设置config.consider_all_requests_local = true - 这是最快的
  • 添加 New Relic(免费)、配置、重现 500、等待 1 分钟并进入 New Relic 中的错误选项卡 - 这是首选,因为您不会将错误暴露给公众

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 2013-09-19
    • 2011-09-02
    相关资源
    最近更新 更多