(我希望如果没有,我会在标题道歉中使用正确的术语)
我的'个人资料'模型与我的'地方'模式有'has_and_belongs_to_many'关系。
在'profile'索引页面上,我想列出并显示'profile'的'places',但我只能显示profile.places的内存地址
我的索引视图:
<% @profile.each do |p| %>
<P><%= p.id %>: <%= p.bio %> Postcodes: <%= p.places %></p>
<% end%>
在屏幕上显示:
3:我正在喝点茶Post邮编:#Place :: ActiveRecord_Associations_CollectionProxy:0x007ffe61c2fd28&gt;
我尝试过某种循环,但我只是搞得一团糟。 如何显示地点的项目?
答案 0 :(得分:3)
首先,您需要建立连接(在关联名称后添加to_a
或all
)。
其次,如果你想要它们作为字符串,你需要对这些地方做点什么。例如
p.places.map(&:postcode).join(', ')
答案 1 :(得分:1)
/proc/2222/comm
是地方对象的集合。当你在erb标签中放入一些内容时,Rails会在其上调用p.places
,将其变成一个字符串,这就是你在那里看到的内容:将一个集合视为一个字符串的结果。
您需要做的是从集合中的对象中提取信息,并围绕它构建一些html。像这样:
.to_s