Rails 3.1 - 奇怪的Heroku错误

时间:2012-05-22 11:54:56

标签: ruby-on-rails ruby-on-rails-3 heroku

我在Heroku上获得以下内容但不在本地,似乎很奇怪,任何想法?

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 %>",但这根本没有任何区别。

2 个答案:

答案 0 :(得分:1)

它来自@product.producttracklistings.sort_by { |producttracklisting| producttracklisting.position }.each(第4行)。

每个producttracklisting都有position吗?

<=>是一个常规比较运算符,用于排序以返回-10+1,具体取决于它的接收器是否小于,等于或者比它的论点更重要。

答案 1 :(得分:1)

它在行

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

由于部分producttracklistingposition设为nil