Я работаю над проектом rails 3 и пытаюсь сделать частичное на странице профиля пользователя. Рендеринг работает отлично для всего, кроме фотографии. Когда я пытаюсь получить доступ к странице профиля пользователя, я получаю следующую ошибкурельсы 3 ошибка рендеринга div_for?
undefined method
MODEL_NAME»для NilClass: Class`
пользователь show.html.erb
def show
@user= User.find(params[:id])
@photo = Photo.find_by_id(params[:id])
end
В профиле show.html.erb
<%= content_tag :h2, "My photos" %>
<% photo = @user.photos %>
<% if photo.blank? %>
<%= link_to 'Create photo', new_photo_path %>
<% else %>
<%= render :partial => 'photos/photo', :locals => {:photo => @photo} %>
<% end %>
Это частичное, что оно раздирается ering
<%= div_for photo do %>
<table>
<tr>
<th>Title</th>
<th>Date</th>
<th>Extra</th>
</tr>
<tr>
<td><%= photo.title %></td>
<td><%= photo.date %></td>
<td><%= photo.extra %></td>
<td><%= link_to 'View photos', photo %></td>
</tr>
</table>
<% end %>
Любые идеи или предложения относительно того, как я могу избавиться от этой ошибки? Заранее спасибо
Я думаю, что существует небольшая беспорядочная единственная и множественная форма переменных 'photo', а также экземпляров и их локальных типов. Трудно понять, что вы действительно хотите сделать. Но я могу сказать, что, скорее всего, причиной ошибки является переменная nil photo внутри '<% = div_for photo do%>'. – Flexoid