【发布时间】:2014-08-14 22:21:56
【问题描述】:
我有两个模型,一个计算名称和一个不同的表,其中包含一堆计算。我已经成功地建立了一对多的关系(一个名字有很多状态),所以当我在我的名字/显示视图中显示计算变量时它可以完美地工作:
名称/显示视图
<p><%= @name.calc_name %></p>
<% @name.states.each do |state| %>
<p><%= state.orbital_subset %></p>
<% end %>
不过,我想在名称索引页上显示我的状态值中的变量。目前,我有一个很好的每个名称列表,但是创建一个循环遍历状态的内部循环似乎效果不佳。这也很好用:
名称/索引视图
<% @names.each do |name| %>
<tr>
<td><%= name.calc_name %></td>
</tr>
<% end %>
我在网上找到的最佳解决方案是这种格式,但不起作用:
<% @names.states.each do |state| %>
<p><%= state.orbital_subset %></p>
<% end %>
我是否应该在索引页面上嵌套两个 do 循环,因为我正在循环所有名称和所有状态?这是我的模型:
class Name < ActiveRecord::Base
has_many :states
end
class State < ActiveRecord::Base
belongs_to :name
end
查看名称索引时出现的错误是: 名称中的 NoMethodError#index
【问题讨论】:
-
以什么方式不起作用,你得到错误还是不是想要的输出?