我有项目和城市表,以及它们之间的多对多关系。
我想在html中获取城市名称列表,用“,”分隔。
我试过这个:
<%= @project.cities(&:name).join(", ") %>
但我得到(我认为)像这样的对象:
#<City:0x103886748>
我犯了哪个错误? :|
P.S。说明:
我的@project有一个或多个城市。我想循环遍历城市并打印如下名称: 纽约,波士顿,贝尔格莱德(最后没有逗号)。
答案 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 %>