Rails循环和.join方法

时间:2011-04-20 14:06:43

标签: ruby-on-rails loops join

我有项目和城市表,以及它们之间的多对多关系。

我想在html中获取城市名称列表,用“,”分隔。

我试过这个:

<%= @project.cities(&:name).join(", ") %>

但我得到(我认为)像这样的对象:

#<City:0x103886748>

我犯了哪个错误? :|

P.S。说明:

我的@project有一个或多个城市。我想循环遍历城市并打印如下名称: 纽约,波士顿,贝尔格莱德(最后没有逗号)。

2 个答案:

答案 0 :(得分:3)

你忘记了map

<%= @project.cities.map(&:name).join(", ") %>

答案 1 :(得分:0)

还有一个非常酷的内置辅助工具。

to_sentence

http://api.rubyonrails.org/classes/Array.html#method-i-to_sentence

<%= @project.cities(&:name).map.to_sentence %>