Rails 5 - application_helper.rb 中定义的渲染数组
Posted
技术标签:
【中文标题】Rails 5 - application_helper.rb 中定义的渲染数组【英文标题】:Rails 5 - rendering array defined in application_helper.rb 【发布时间】:2016-12-15 13:28:16 【问题描述】:我想使用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>
结果是:
pic with result
是的,由于某种原因,完整的数组显示在最后一个结束 li 标记之后但在结束 ul 标记之前。如何删除它?我应该在别处定义返回这个数组的方法吗?
【问题讨论】:
【参考方案1】:试试这个
<ul>
<% scores.each do |s| %>
<li><%= s %></li>
<% end %>
</ul>
<%= %>
再次显示您不想要的整个分数数组(<%= %>
导致显示值)。
【讨论】:
【参考方案2】:不要使用<%=
输出scores.each
的结果,即scores
。
您在.each
块内输出<li>
标记,然后当.each
完成时,从each
(scores
) 返回的值被传递给<%=
,这会回显到浏览器。
您需要注意何时使用<%
和<%=
;在这种情况下,您需要<%
。
【讨论】:
以上是关于Rails 5 - application_helper.rb 中定义的渲染数组的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Webpacker 中使用 Rails Url 助手/Rails 5.1 中的 React-rails
Rails 5 ActionController::InvalidAuthenticityToken 错误
无法启动 Rails 服务器:在 SDK 中找不到 Rails/无法激活 bundler-1.25.5