无论我使用什么语言,我总是需要显示由某个分隔符分隔的字符串列表。
假设我有一系列产品,需要以', '
分隔显示其名称。
所以我有一个产品集合,每个产品都有一个'name'属性。我正在寻找一些Rails方法/帮助器(如果它不存在,也许你可以给我一些想法以rails方式构建它),它将接收一个集合,一个将在每个集合项上调用的属性/方法和分隔符的字符串。
但是我想要的东西不包括最后的分隔符,因为我将以“笔记本,计算机,键盘,鼠标”结尾,最后两个字符不应该在那里。
例如:
concat_ws(@products, :title, ", ")
#displays: Notebook, Computer, Keyboard, Mouse
假设@products有4个产品,当然还有这个名称。
谢谢!
答案 0 :(得分:1)
你应该尝试帮助to_sentence。
如果您有阵列,可以执行类似
的操作array.to_sentence。如果你的数组有数据banana,apple,chocolate,它将成为: 香蕉,苹果和巧克力。
现在,如果你的AR模型有一个名为的字段,你可以做类似
的事情MyModel.all.map { |r| r.name }.to_sentence
答案 1 :(得分:1)
@products.map(&:title).join(', ')
答案 2 :(得分:1)
正如@VP所提到的,Array#to_sentence在rails中做得很好。它的代码在这里:
说,使用牛津逗号是值得怀疑的: - )