レールを始めたばかりで、解決できない問題を見つけました。2つのモデル(賞と学生)でシンプルなアプリを作成しています。:award has_one :student
と:student belongs_to :award
show.html.erbのapp/views / Awards /で、次を置き換えるように言われました。
<%= @award.student_id %>
と:
<%= @award.student.given_name %> <%= @award.student.family_name %>
そしてindex.html.erbで、以下を置き換えます。
<%= award.student_id %>
と:
<%= award.student.given_name %> <%= award.student.family_name %>
この後、localhost:3000 / studentは正常に機能していますが、localhost:3000 / Awardsが機能しておらず、次のエラーが発生しています:-
**NoMethodError in Awards#index**
Showing /home/redblink/rbtest/students/app/views/awards/index.html.erb where line #17 raised:
undefined method `given_name' for nil:NilClass
Extracted source (around line #17):
14: <tr>
15: <td><%= award.name %></td>
16: <td><%= award.year %></td>
17: <td><%= award.student.given_name %> <%= award.student.family_name %></td>
18: <td><%= link_to 'Show', award %></td>
19: <td><%= link_to 'Edit', edit_award_path(award) %></td>
20: <td><%= link_to 'Destroy', award, method: :delete, data: { confirm: 'Are you sure?' } %></td>
解決策をできるだけ早く返信してください.....