Ruby on Rails: 在 html.erb 文件的单行中打印数组元素

Ruby on Rails: Print element of array in a single line in html.erb file

我是 html.erb 文件的新手,我没有找到问题的答案。 我有一组名称,我试图将它们打印在段落标记 <p> 中,一行中带有“,”,如下所示:

name1, name2, name3

但我得到的是:

name1,
name2,

这是代码:

<% @names_array.each do |name| %>
  <p class="center"><%= name %>,</p>
<% end %>

这样的东西行不通吗?加入他们,将他们留在段落标签内:

<p class="center">
  <%= @names_array.join(', ') %>
</p>

您可以使用 Active Support 的 to_sentence 方法。示例:

names = ['name1', 'name2', 'name3']

irb(main):001:0> names = ['name1', 'name2', 'name3']
=> ["name1", "name2", "name3"]

irb(main):002:0> names.to_sentence
=> "name1, name2 and name3"

您可以修改最后一个连接器传字选项:

irb(main):003:0> names.to_sentence(last_word_connector: ', ')
=> "name1, name2, name3"

勾选documentation