在大多数情况下,它可能不是最好的解决方案,但我想要一个包含 3 个表的数据表。
class Media < ActiveRecord::Base
belongs_to :user
belongs_to :type
has_many :ratings
end
class User < ActiveRecord::Base
has_many :medias
has_many :ratings
end
class Rating < ActiveRecord::Base
belongs_to :user
belongs_to :media
end
这就是我想要的景色
<table>
<tr>
<th>Name</th>
<th>Comment</th>
<th>Creator</th>
<th>Type</th>
<% for user in @users %>
<th><%=h user.login %></th>
<% end %>
</tr>
<% for media in @medias %>
<tr>
<td><%=h media.name %></td>
<td><%=h media.comment %></td>
<td><%=h media.user.login %></td>
<td><%=h media.type.name %></td>
<% for user in @users %>
<td><%=h GET_RATING (media, user) %></td>
<% end %>%>
</tr>
<% end %>
</table>
基本上我希望每个用户对每个媒体的评分都有一个新行
我想要的是一个看起来像这样的表:
media.name media.comment ... rating(media, user).rating
我认为最好在控制器中使用带有媒体查找方法的连接,但我不知道如何准确,足够可能的解决方案可能是将媒体和用户作为参数的辅助方法。
您认为最好的解决方案是什么?