Ruby on rails Rails视图:join on有很多关系,而不是遍历它们?

Ruby on rails Rails视图:join on有很多关系,而不是遍历它们?,ruby-on-rails,arrays,view,relationship,Ruby On Rails,Arrays,View,Relationship,Rails视图:在对象上连接 嗨 想想模型用户的show视图,它与模型角色有很多关系。我希望遍历属于某个用户的所有关联角色。现在看起来是这样的: <div>associated roles:</div> <ul> <% @user.roles.each do |r| %> <li><%= r.name %></li> <% end %> </ul> 我的问题: 是否有一种类似Rails的

Rails视图:在对象上连接

想想模型用户的show视图,它与模型角色有很多关系。我希望遍历属于某个用户的所有关联角色。现在看起来是这样的:

<div>associated roles:</div>
<ul>
<% @user.roles.each do |r| %>
<li><%= r.name %></li>
<% end %>
</ul>
我的问题:

是否有一种类似Rails的方法可以在不遍历整个数组的情况下获得如下输出

associated roles:
registered, manager, administrator
我尝试了连接方法

<div>associated roles:</div>
<%= @user.roles.join(",") %>
关联角色:
。。。但这会导致

associated roles:
#<Role:0xb6dde328>,#<Role:0xb6dde2ec>,#<Role:0xb6dde1f5>
关联角色:
#,#,#
还有像

<div>associated roles:</div>
<%= @user.roles.join(",").name %>
关联角色:
。。。导致未定义的方法“name”错误。 有什么关于优雅方式的提示吗


谢谢

另一个解决方案是重写Role类中的
<div>associated roles:</div>
<%= @user.roles.join(",").name %>
@user.roles.collect(&:name).join(",")