【发布时间】:2014-10-08 00:44:27
【问题描述】:
我拥有的是 3 个对象集合和 2 个关联。我的对象是“Owner”、“Jockey”和“Horse”,关联是 OwnerID(Owner)->OwnerID(Jockey) 和 JockeyID(Jockey) -> JockeyID(Horse)。
Owner
Name **OwnerID**
Jockey
Name **OwnerID** *JockeyID*
Horse
Name OwnerID *JockeyID*
每个主人可以有很多骑师,每个骑师可以有很多马。 ** 和 * 表示键映射。
所以在我的“所有者”页面上,我想打印所有“马匹”,但根据他们的“骑师”对它们进行分组。我已经像这样打印它们,没有这个分组:
<table>
<tr>
<th>Name</th>
<th>JockeyID</th>
</tr>
<% @subject.FirstAssociation.SecondAssociation.each do |horse| %>
<tr>
<td>
<%= horse['Name'].first %>
</td>
<td>
<%= horse['JockeyID'].first %>
</td>
</tr>
<% end %>
这将简单地打印:
Name JockeyID
Horse 1
Horsie2 2
Horsie3 3
...
我现在想要的是按骑师分组,而不是打印:
Jockey Name : Mark the Jockey
Name JockeyID
Horse 1
JockeyName : Fred the Jockey
Name JockeyID
Horsie2 2
Horsie3 3
etc.
如何做到这一点?
【问题讨论】:
-
您的关联字段实际上是否称为
JockeyID和OwnerID,而不是传统的jockey_id和owner_id?并且是 OwnerOwnerID中的主键,而不是传统的id?这感觉就像作者使用“示例”字段/方法而不是他们的真实代码并最终让所有人感到困惑的问题之一。 -
@MaxWilliams 抱歉,我是 Ruby 新手,所以不知道这些约定。谢谢你让我知道。是的,你在这两种情况下都是正确的。
-
你能用你的实际代码和关联来编辑和重写你的问题吗?否则会变得非常混乱。
-
顺便说一句,我不知道您如何在不知道关联字段名称的情况下开始使用 Rails - 这一定是您学习的第一件事!?
-
@MaxWilliams 我的意思是说你是正确的,JockeyID 和 OwnerID 是关联字段, OwnerID 是主键。这是我的实际代码 :) 我多年来一直是 Java 开发人员 - 我真的不需要学习 Ruby,只是为了让代码的这方面工作并继续前进:)。感谢您的帮助
标签: ruby-on-rails ruby ruby-on-rails-3 if-statement ruby-on-rails-3.1