1
我对轨道相当陌生,我试图找出最好的方法来做到这一点。Ruby on Rails嵌套循环
我有一个球员表和一个球队表。他们都是HABTM彼此并使用连接表。
模型
class Player < ActiveRecord::Base
has_and_belongs_to_many :teams
end
class Team < ActiveRecord::Base
has_and_belongs_to_many :players
end
控制器
def players
@players = Player.all
end
查看
<%@players.each do |player|%>
<tr>
<td><%= link_to "Add", "steam://friends/add/#{player.steamid}"%></td>
<td><%= link_to player.name, player%></td>
<td><%=player.email%></td>
<td><%=player.teams.teamname%></td>
</tr>
<%end%>
首先,我知道teamname应该TEAM_NAME。
我试过建立一个循环遍历团队,但这个页面有超过1600个玩家,所以需要几分钟来运行它。
我错过了一个更好的方法来做到这一点?
Bam!我知道有一种方法可以加快速度。但是这意味着最好的方法是改变我上面写的视图的方式,并把它作为一个循环放回来,对吗? – Aarmora
我加了这个'<%player.teams.each do | team |放入team.teamname end%>'并且加载sooo的速度要快得多,这非常棒。但我不认为我的'puts'语法是正确的,因为它没有写任何东西。 – Aarmora
'<%= player.teams.map {| team | team.teamname}%>'这样的事情就是我需要的,是吗?这似乎是更好的显示,但我认为我需要把它包装在'原始'。 – Aarmora