如何把日子变成标签?

How to make days into tags?

我们如何将 <span class="label label-primary"> 嵌入到下面的数组中,以便从 ruby 生成的一周中的每一天都是它自己的标签?我们会去掉逗号。

<%= challenged.committed.map { |d| d.titleize[0,3] }.join(', ') %>

举个例子,我试过:

<%= challenged.committed.map { |d| d.titleize[0,3] }.join('<span class="label label-primary"></span>') %>)

怎么样:

<% challenged.committed.map { |d| d.titleize[0,3] }.each do |title| %>
  <span class="label label-primary"><%= title %></span>
<% end %>

content_tag:

<% challenged.committed.map { |d| d.titleize[0,3] }.each do |title| %>
  <%= content_tag(:span, title, class: "label label-primary")
<% end %>

您也可以尝试以这种方式解决问题(这个是 "less ERB-ish" 你):

<%= challenged.committed
              .map { |d| d.titleize[0,3] }
              .map { |title| content_tag(:span, title, class: "label label-primary") }
              .join(', ')
              .html_safe %>

不要忘记在生成的字符串上调用 html_safe,因为所有 HTML 实体都将被编码,您将看到 "plain" HTML,而不是很好格式化一个。

希望对您有所帮助!

祝你好运!