Rails视图:加入对象
您好,
考虑与模型Role具有has_many关系的模型User的show视图。我想遍历属于某个用户的所有相关角色。现在它看起来像这样:
<div>associated roles:</div>
<ul>
<% @user.roles.each do |r| %>
<li><%= r.name %></li>
<% end %>
</ul>
例如在
中产生associated roles:
* registered
* manager
* administrator
我的问题:
是否有类似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'错误。 优雅方式的任何提示?
由于
答案 0 :(得分:5)
@user.roles.collect(&:name).join(",")