我最近将我的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|