【发布时间】:2014-01-29 23:38:06
【问题描述】:
所以我的模型中有一个标准的 has_many through 关联,与这里的问题非常相似:Loop through ActiveRecord::Associations::CollectionProxy with each
我在那个问题中使用了建议,但我认为我在我的 ERB 文件中遇到了一些问题,以便它显示在我的应用程序中。目前我有以下内容:
<%= @memberships.map do |a| %>
<%=a.name%>
<% end %>
在这种情况下,会员模型是用户和组织拥有很多的模型(@memberships = @user.organizations)。所以@memberships.class 返回
ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_Organization
在 Rails 控制台上。所以此刻,在浏览器中,代码在用户位于两个组织的页面上返回:
orgone orgtwo["\n", "\n"]
我只是不知道如何操作代理类来返回我想要的。谢谢!
更新:
我想通了,我不得不删除块顶部的 =,并用逗号添加了一些样式:
<% @memberships.map do |a| %>
<h3><%=a.name %> <%= ", " unless a == @memberships.last %></h3>
<% end %>
【问题讨论】:
-
你想要什么?打印每个会员的名字? @memberships.each 应该可以正常工作。
-
是的,我已经知道如何在只有一个时打印会员资格,但在有多个时却不行,@memberships.each 给了我,#<0x007fdfaa07dc58>0x007fdfaa07dc58>
<&>
标签: ruby-on-rails ruby activerecord