3

我在rails 4上。我有一个这样的每个块

blends.addons.each do |a|
....
end

假设我有一个名为“test”的混合,包含三个附加组件

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

香草、巧克力和肉桂的混合试饮

我形成这句话的代码类似于

A <%= blend.name %> blend with <%= blend.addons.each do |a| %><%= a.name+", " %><% end %>

该代码将打印出所有附加到以逗号分隔的混合的插件的名称。如何让我的每个块添加逗号直到最后一个元素,然后打印“和#{最后一个元素}”?还是每个块不是最好的方法?谢谢。

4

1 回答 1

9

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

%w(Earth Wind Fire).to_sentence # => "Earth, Wind, and Fire"

您可以配置它,请参阅文档

在你的情况下,我会说:

%w(Earth Wind Fire).to_sentence(last_word_connector: ' and ')
# => "Earth, Wind and Fire"
于 2013-10-01T18:54:01.817 回答