我最近将我的Heroku应用程序从雪松10升级到雪松14,没有问题(仍然使用红宝石1.9.3).然后我尝试升级我的应用程序使用
ruby 2.0.0-p645并推送到英雄服务器.当我这样做,我不能再访问我的应用程序,我在日志中收到以下错误;
2015-07-09T12:27:37.480991+00:00 app[web.1]: 2015-07-09T12:27:37.480996+00:00 app[web.1]: NoMethodError (undefined method `empty?' for nil:NilClass): 2015-07-09T12:27:37.480998+00:00 app[web.1]: app/controllers/wines_controller.rb:18:in `index' 2015-07-09T12:27:37.480999+00:00 app[web.1]: 2015-07-09T12:27:37.481001+00:00 app[web.1]: 2015-07-09T12:27:37.481462+00:00 app[web.1]: Processing by WinesController#index as HTML 2015-07-09T12:27:37.481465+00:00 app[web.1]: Completed 500 Internal Server Error in 100.1ms
如果我看看第18行的wines_controller,我有以下几点:
respond_to do |format| format.html format.json {render json: @wines.as_json} end
我以为这是我的index.html中的东西,所以我把它带回来了
%h1 Wines
只有这一行在我的index.html.haml它仍然有一个问题.
如果我尝试访问wines.json这个工作,并给我一个我的葡萄酒列表.运行在我的开发框使用2.0.0工作正常,我的所有测试通过.
更新:添加控制器& index.html上的更多信息
这是我的葡萄酒控制器
def index # Search via Ransack @q = current_user.wines.includes(:wine_rack).unconsumed.order("LOWER(winery)").search(params[:q]) @wines = @q.result.page params[:page] @total = @q.result.sum(:qty) respond_to do |format| format.html format.json {render json: @wines.as_json} end end
关于我的index.html.haml文件,我上传了一个仅包含这一行的我的项目的版本;
%h1 Wines
视图中没有发生循环,我仍然收到错误.
18行是指控制器中的以下行;
respond_to do |format|
解决方法
我找到了答案.我不得不升级我的newrelic_rpm.这是我唯一的改变,现在它的作品.
- newrelic_rpm (3.5.0) + newrelic_rpm (3.12.1.298)
我通过加载另一个英雄实例来测试,并将我的应用程序发送到控制器&查看剪切,没有改变,直到我指出newrelic_rpm宝石,它开始工作.所以我升级了它,而不是删除宝石,现在它的工作原理.
我删除它的唯一原因是由于我寻找开发和生产之间的差异.它被标记为我的Gemfile中的生产唯一宝石.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。