我有一个Rails 4应用程序与两个模型校园和统计。校园has_many统计和Stat属于校园。如何从我的index.html.erb中的连接表中访问数据?
我的问题是我可以从我的显示操作中的校园表中获取数据,但不能在我的索引操作中显示。以下是控制器的相关代码。
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年7月5日
编辑|回到
这里是我的index.html.erb的相关部分:为stat.campus.name
我NilClass:
<% @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 %>
输出给了我一个未定义的方法'名称”的零无法弄清楚为什么会有所不同。我究竟做错了什么?
查看show中的'@ stat.campus.name'和index中的'stat.campus'。删除索引中的'stat.time'并将'stat.campus'更改为'stat.campus.name',并且您具有相同的输出。 – Hiasinho
对不起,我的第一篇文章是不正确的。使用index.html.erb中的stat.campus.name它会返回一个未定义的方法错误 –