2012-05-22 3 views
0

Я получаю следующее на Heroku, но не локально, кажется довольно странным, любые идеи?Rails 3.1 - Strange Heroku Error

2012-05-22T11:49:53+00:00 app[web.1]: ActionView::Template::Error (undefined method `<=>' for nil:NilClass): 
2012-05-22T11:49:53+00:00 app[web.1]:  1: <h3>Product Tracklisting</h3> 
2012-05-22T11:49:53+00:00 app[web.1]:  2: 
2012-05-22T11:49:53+00:00 app[web.1]:  3: <ol id="track-list" data-update-url=<%= sort_producttracklistings_url %>> 
2012-05-22T11:49:53+00:00 app[web.1]:  4: <% @product.producttracklistings.sort_by { |producttracklisting| producttracklisting.position }.each do |products_track| %> 
2012-05-22T11:49:53+00:00 app[web.1]:  5:  
2012-05-22T11:49:53+00:00 app[web.1]:  6: <%= content_tag_for :li, products_track do %> 
2012-05-22T11:49:53+00:00 app[web.1]:  7: 
2012-05-22T11:49:53+00:00 app[web.1]: app/views/products/_tracklisting.html.erb:4:in `_app_views_products__tracklisting_html_erb___857430611_70068520180420' 
2012-05-22T11:49:53+00:00 app[web.1]: app/views/products/show.html.erb:32:in `_app_views_products_show_html_erb___556626077_70068514945180' 
2012-05-22T11:49:53+00:00 app[web.1]: app/controllers/products_controller.rb:91:in `show' 

Я думал, что это могло быть, потому что data-update-url=<%= sort_producttracklistings_url %> ранее data-update-url="<%= sort_producttracklistings_url %>", но это не имело никакой разницы.

ответ

1

Он исходит от @product.producttracklistings.sort_by { |producttracklisting| producttracklisting.position }.each (строка 4).

Есть ли у каждого producttracklistingposition?

<=> является общим оператор сравнения используется в сортировке, чтобы возвращать либо -1, 0 или +1 в зависимости от того, является ли это приемник меньше, равно или больше, чем это аргумент.

+0

Ah ha !! Я смотрел в консоли SQL, и вы правы, некоторые позиции на более старых продуктах отсутствовали. Я вручную их установил, и теперь он работает! – Raoot

1

Его в линии

<% @product.producttracklistings.sort_by { |producttracklisting| producttracklisting.position }.each do |products_track| %> 

И из-за некоторых из producttracklisting имеют position как nil.

+0

100% правильный, спасибо! – Raoot