小编den*_*nis的帖子

Rails视图:加入has_many关系而不是迭代它们?

Rails视图:加入对象

嗨,

考虑与模型Role具有has_many关系的模型User的show视图.我想遍历属于某个用户的所有相关角色.现在它看起来像这样:

<div>associated roles:</div>
<ul>
<% @user.roles.each do |r| %>
<li><%= r.name %></li>
<% end %>
</ul>
Run Code Online (Sandbox Code Playgroud)

例如,结果如下:

associated roles:
* registered
* manager
* administrator
Run Code Online (Sandbox Code Playgroud)

我的问题:

是否有类似Rails的方式获得如下所示的输出而不必遍历整个数组?

associated roles:
registered, manager, administrator
Run Code Online (Sandbox Code Playgroud)

我尝试了加入方法......

<div>associated roles:</div>
<%= @user.roles.join(",") %>
Run Code Online (Sandbox Code Playgroud)

......但结果是......

associated roles:
#<Role:0xb6dde328>,#<Role:0xb6dde2ec>,#<Role:0xb6dde1f5>
Run Code Online (Sandbox Code Playgroud)

有点像......

<div>associated roles:</div>
<%= @user.roles.join(",").name %>
Run Code Online (Sandbox Code Playgroud)

...导致未定义的方法"名称"错误.优雅方式的任何提示?

谢谢

arrays ruby-on-rails view relationship

2
推荐指数
1
解决办法
290
查看次数

标签 统计

arrays ×1

relationship ×1

ruby-on-rails ×1

view ×1