Campus と Stat の 2 つのモデルを持つ Rails 4 アプリがあります。キャンパスには_多くの統計があり、統計はキャンパスに属しています.
私が抱えている問題は、Campus テーブルのデータを show アクションで取得できますが、index アクションでは取得できないことです。コントローラーからの関連コードを次に示します。
def index
@stats = Stat.all
end
def show
end
ここに私のshow.html.erbがあります:
<p id="notice"><%= notice %></p>
<p>
<strong>Attendance:</strong>
<%= @stat.attendance %>
</p>
<p>
<strong>Salvations:</strong>
<%= @stat.salvations %>
</p>
<p>
<strong>Visitors:</strong>
<%= @stat.visitors %>
</p>
<p>
<strong>Offering:</strong>
<%= @stat.offering %>
</p>
<p>
<strong>Campus:</strong>
<%= @stat.campus.name %>
</p>
<p>
<strong>Date:</strong>
<%= @stat.date %>
</p>
<%= link_to 'Edit', edit_stat_path(@stat) %> |
<%= link_to 'Back', stats_path %>
以下を出力します。
出席: 23
救い: 0
訪問者: 3
オファリング: 5000.0
キャンパス: レベルストーク
日付: 2013-07-05
編集 | 戻る
私のindex.html.erbの関連部分は次のとおりです。
<% @stats.each do |stat| %>
<tr>
<td><%= stat.attendance %></td>
<td><%= stat.salvations %></td>
<td><%= stat.visitors %></td>
<td><%= stat.offering %></td>
<td><%= stat.date %></td>
<td><%= stat.time %></td>
<td><%= stat.campus.name %></td>
<td><%= link_to 'Show', stat %></td>
<td><%= link_to 'Edit', edit_stat_path(stat) %></td>
<td><%= link_to 'Destroy', stat, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
出力には、stat.campus.name の nil:NilClass の未定義のメソッド「名前」が表示されます
なぜ違うのか理解できません。私は何を間違っていますか?