如何用erb在一行上写一个枚举
How to write an enumeration on one line with erb
我通常在 html 中写枚举,在多行中写 erb 例如
<% @results.each do |str| %>
<%= str %><br>
<% end -%>
但最好在一行中完成,例如:
<%= @results.each { |str| "#{str}<br>" }
但那种特殊的方式显然行不通。你怎么做呢?在我正在查看的特定情况下,每个 str
都在其末尾包含一个 \n
。但我对这两种情况都感兴趣,即每个 str
与否。
假设
@results = ["foo\n", "bar\n"]
然后:
<%= (@results.map { |s| s.gsub('\n','') }.join('<br>') + "<br>").html_safe %>
我通常在 html 中写枚举,在多行中写 erb 例如
<% @results.each do |str| %>
<%= str %><br>
<% end -%>
但最好在一行中完成,例如:
<%= @results.each { |str| "#{str}<br>" }
但那种特殊的方式显然行不通。你怎么做呢?在我正在查看的特定情况下,每个 str
都在其末尾包含一个 \n
。但我对这两种情况都感兴趣,即每个 str
与否。
假设
@results = ["foo\n", "bar\n"]
然后:
<%= (@results.map { |s| s.gsub('\n','') }.join('<br>') + "<br>").html_safe %>