Ошибка скрытого рендеринга в Ruby on Rails

Я работаю над небольшой CMS, специально написанной на Ruby, веб-сайт работает с использованием Mongrel. К сожалению, я совершенно не знаком с Ruby. Часть веб-сайта недавно перестала работать (не в связи с какими-либо обновлениями или около того, поэтому я не уверен, в чем была причина)

Проверка "production.log" в журналах рельсов показывает следующее:

ActionView::TemplateError (undefined method `name' for nil:NilClass) on line #25 of app/views/static/frontpage.rhtml: 22: <% Tabloid.find(:all, :limit => 4, :order =>'date DESC').each do |tabloid|%> 23: 24: <%= link_to tabloid.title, :controller => 'tabloid', :action => 'show', :id => tabloid.id %> 25:

<%= tabloid.date.strftime("%d of %B, %Y") %> By: <%= Profile.find(:first, :conditions => [ "user_id = ?", tabloid.user_id]).name %> <%= Profile.find(:first, :conditions => [ "user_id = ?", tabloid.user_id]).surname %>

26:

‹% = RedCloth.new (усечь (tabloid.texto, 250)). To_html%>

27: <% if tabloid.texto.size > 250 %> 28:

‹% = Link_to" Подробнее> ",: controller => 'tabloid',: action => 'show',: id => tabloid.id%>

app/views/static/frontpage.rhtml:25
app/views/static/frontpage.rhtml:22:in `each'
app/views/static/frontpage.rhtml:22
/usr/local/rubygems/gems/gems/actionpack-2.2.2/lib/action_view/renderable.rb:39:in

send' /usr/local/rubygems/gems/gems/actionpack-2.2.2/lib/action_view/renderable.rb:39:in render '/usr/local/rubygems/gems/gems/actionpack-2.2.2/lib/action_view/template.rb:73:in render_template' /usr/local/rubygems/gems/gems/actionpack-2.2.2/lib/action_view/base.rb:256:in render' /usr/local/rubygems/gems/gems/actionpack-2.2.2/lib /action_view/base.rb:367:in _render_with_layout' /usr/local/rubygems/gems/gems/actionpack-2.2.2/lib/action_view/base.rb:254:in render '/usr/local/rubygems/gems/gems/actionpack-2.2.2/lib/action_controller/base.rb:1174:in render_for_file' /usr/local/rubygems/gems/gems/actionpack-2.2.2/lib/action_controller/base.rb:896:in render_without_benchmark' / usr / local / rubygems / gems /gems/actionpack-2.2.2/lib/action_controller/benchmarking.rb:51:in render' /usr/local/rubygems/gems/gems/activesupport-2.2.2/lib/active_support/core_ext/benchmark.rb:8:in realtime '/usr/local/rubygems/gems/gems/actionpack-2.2.2/lib/action_controller/benchmarking.rb:51:in render' /usr/local/rubygems/gems/gems/actionpack-2.2.2/lib/action_controller/base.rb:868:in render_without_benchmark '/usr/local/rubygems/gems/gems/actionpack-2.2.2/lib/action_controller/benchmarking.rb:51:in render' /usr/local/rubygems/gems/gems/activesupport-2.2.2/lib/active_support/core_ext/benchmark.rb:8:in realtime' /usr/local/rubygems/gems/gems/actionpack-2.2.2/lib /action_controller/benchmarking.rb:51:in render' /usr/local/rubygems/gems/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:122:in dispatch '/usr/local/rubygems/gems/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:132:in dispatch_cgi' /usr/local/rubygems/gems/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:39:in dispatch' / usr / local / rubygems / gems /gems/mongrel-1.1.5/lib/mongrel/rails.rb:76:in process' /usr/local/rubygems/gems/gems/mongrel-1.1.5/lib/mongrel/rails.rb:74:in synchronize '/usr/local/rubygems/gems/gems/mongrel-1.1.5/lib/mongrel/rails.rb:74:в process' /usr/local/rubygems/gems/gems/mongrel-1.1.5/lib/mongrel.rb:159:inprocess_client' /usr/local/rubygems/gems/gems/mongrel-1.1.5/lib/ mongrel.rb: 158: в each' /usr/local/rubygems/gems/gems/mongrel-1.1.5/lib/mongrel.rb:158:inprocess_client '/usr/local/rubygems/gems/gems/mongrel-1.1.5/lib/mongrel.rb:285: в run' /usr/local/rubygems/gems/gems/mongrel-1.1.5/lib/mongrel.rb:285:ininitialize' / usr / local / rubygems / gems / gems / mongrel- 1.1.5 / lib / mongrel.rb: 285: в new' /usr/local/rubygems/gems/gems/mongrel-1.1.5/lib/mongrel/configurator.rb:282:in run '/usr/local/rubygems/gems/gems/mongrel-1.1.5/lib/mongrel/configurator.rb:281:in each' /usr/local/rubygems/gems/gems/mongrel-1.1.5/lib/mongrel/configurator.rb:281:in run'

и т.д. Журналы Mongrel фактически не обновлялись какое-то время. Есть какие-нибудь указания относительно того, в чем проблема или где я должен продолжить копать?


person Lars    schedule 09.01.2013    source источник


Ответы (1)


Profile.find(:first, :conditions => [ "user_id = ?", tabloid.user_id]) запрос возвращает nil, поэтому он не может выполнить name на нем

person SG 86    schedule 09.01.2013
comment
Спасибо, с этими идентификаторами действительно что-то не так, это привело меня в нужное русло. - person Lars; 10.01.2013