【发布时间】:2012-01-24 05:35:36
【问题描述】:
好的, 我一直在 sinatra 开发一个小型 webapp。周末休假后,我遇到了一个奇怪的问题,无法追踪。
我的应用程序托管在 Heroku 上,并且在那里运行良好。但是,现在该应用程序不再在本地运行。即使从 Heroku 克隆源代码也会产生同样的问题。
== Sinatra/1.3.2 has taken the stage on 4567 for development with backup from Thin
>> Thin web server (v1.3.1 codename Triple Espresso)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:4567, CTRL+C to stop
!! Unexpected error while processing request: undefined method `<<' for nil:NilClass
我已尝试在三台不同的计算机(intel macmini、thunderbolt MacBook pro 和 G4 mini)上再次运行此程序,都产生相同的错误。
我检查了我的代码,寻找任何未封闭或不完整的代码,但找不到任何东西。即使使用 git 恢复到已知的工作版本也会产生相同的错误。
任何帮助都将不胜感激,因为我对 ruby 的了解仍然相当有限。如果有人有兴趣/愿意看看我的代码,我愿意分享。
唯一可能改变的是:我更新了我的开发机器上的 gems 已经更新了。但我不明白这会对其他两台机器的情况产生什么影响。
【问题讨论】:
-
试试 git grep "
-
您也可以检查较新的机架版本是否有任何改变。您可能希望在 Gemfile 中恢复到 1.3。
-
这就是问题所在。我没有注意到机架是在更新的。感谢您的意见。
-
Rack 1.4 中有更多的回归。很烦人,但很好,你可以解决它。