我想使用nhl_scores gem来获取并显示页面上最近的NHL游戏分数。这就是我在app / helpers / application_helper.rb中定义方法的方法:
def scores
games = NHLScores::Games.new
s = []
games.recent.each do |g|
s.push("#{g.away_team} @ #{g.home_team} - #{g.away_team_score}:#{g.home_team_score}")
end
s
end
这就是我显示这个数组的方式:
<ul>
<%= scores.each do |s| %>
<li><%= s %></li>
<% end %>
</ul>
结果是:
是的,由于某种原因,完整数组会在最后一个结束li标签之后但在结束ul标签之前显示。我该如何删除它?我应该定义在其他地方返回此数组的方法吗?
答案 0 :(得分:0)
试试这个
<ul>
<% scores.each do |s| %>
<li><%= s %></li>
<% end %>
</ul>
<%= %>
再次显示您不想要的整个得分数组(<%= %>
会导致显示该值)。
答案 1 :(得分:0)
请勿使用<%=
输出scores.each
的结果,即scores
。
您正在<li>
块中输出.each
标记,然后在.each
完成后,each
返回的值(scores
)正被传递给<%=
,并将其发送到浏览器。
您需要了解何时使用<%
和<%=
;在这种情况下,您需要<%
。