/ / Rails модель відносини сумніви - ruby-on-rails, ruby-on-rails-3, моделі, відношення

Смуги моделей стосунків сумніваються - рубіни на рейках, рубін на рейках-3, моделі, відношення

У мене є ці моделі

class Course < ActiveRecord::Base
attr_accessible :name
has_many :teachers
end

class Teacher < ActiveRecord::Base
attr_accessible :id, :name, :course_id
belongs_to :course
has_many   :evaluations
end

class Evaluation < ActiveRecord::Base
attr_accessible  :teacher_id, :course_id
belongs_to       :teacher
end

це перегляд / оцінки / index.html.erb файл

<% @evaluations.each do |evaluation| %>
<tr>
<td><%= evaluation.teacher_id %></td>
<td><%= link_to "Show", evaluation %></td>
<td><%= link_to "Edit", edit_evaluation_path(evaluation) %></td>
<td><%= link_to "Destroy", evaluation, :method => :delete, :data => { :confirm =>      "Are you sure?" } %></td>
</tr>
<% end %>

Я хочу показати ім'я вчителя:

<td><%= evaluation.teacher.name %></td>

але це не працює. Rails показує цю помилку:

 "undefined method `name" for nil:NilClass"

Чи може хто-небудь мені допомогти?

Відповіді:

0 для відповіді № 1

Для всіх ваших оцінок рейки отримаєтеЯкщо тільки одна оцінка не має вчителя, вона отримає нуль для вчителя, а потім спробує отримати ім'я на цій нуль, то у вас є ваша помилка.

Спробуйте це :

<td><% if evaluation.teacher %>
<%= evaluation.teacher.name %>
<% end %></td>