我认为我有以下几行:
<p><%= @runnings_past.map do |f| %>
<%= f.title %>
<% end %>
</p>
在控制台中工作得很好 - &gt;输出:
2.1.2 :076 > @runnings_past.map do |f|
2.1.2 :077 > f.title
2.1.2 :078?> end
=> ["Murtenlauf"]
2.1.2 :079 >
但是当我在视图中使用它时,如上所示,我得到一个这样的表达式:
Murtenlauf ["\n"]
[“\ n”]来自何处?
答案 0 :(得分:2)
<%= @runnings_past.map do |f| %>
<%= f.title %>
<% end %>
实际应该是
<% @runnings_past.each do |f| %>
<%= f.title %>
<% end %>
请注意缺少=
(此外,我将map
更改为each
,因为您只是遍历数组)
<%=
表示评估代码并将结果插入到html结构中。所以你正在做的是评估.map
并将结果放入你的html中。因此,您将遍历@runnings_past
代码,将f.first
放入html(这是您想要的),但是当您完成该操作后,您将放置映射的结果(显然之后是html中带有字符串返回字符的数组。
答案 1 :(得分:2)