如何分离数组,以便列出除逗号之外的逗号分隔的所有元素?

oob*_*e11 3 ruby-on-rails

我在轨道上4.我有一个像这样的每个街区

blends.addons.each do |a|
....
end
Run Code Online (Sandbox Code Playgroud)

假设我有一个名为"test"的混合,有三个附加组件

我想在我的混合show.html.erb中创建一个如下所示的句子

与香草,巧克力和肉桂混合的测试

我形成这句话的代码就是这样的

A <%= blend.name %> blend with <%= blend.addons.each do |a| %><%= a.name+", " %><% end %>
Run Code Online (Sandbox Code Playgroud)

该代码将打印出以逗号分隔的混合所附加的所有插件的名称.如何让我的每个块添加逗号直到最后一个元素,然后打印"和#{最后一个元素}"?或者每个街区不是最好的方式吗?谢谢.

apn*_*ing 9

这是由一种ActiveSupport方法提供的:

%w(Earth Wind Fire).to_sentence # => "Earth, Wind, and Fire"
Run Code Online (Sandbox Code Playgroud)

您可以配置它,请参阅doc

在你的情况下,我会说:

%w(Earth Wind Fire).to_sentence(last_word_connector: ' and ')
# => "Earth, Wind and Fire"
Run Code Online (Sandbox Code Playgroud)