标题可能不太合适,所以请提前道歉。
我正在构建一个rails应用程序(我真的没有经验)我使用Amistad gem来添加friendhsips。它有一些很酷的功能,比如向所有朋友展示。不幸的是,我无法按照自己的意愿工作。
我正在尝试向所有用户显示当前用户的待处理请求:
Pending by: <%= current_user.pending_invited_by %>
但我得到的结果是
Pending by: [#<User avatar_url: nil, id: 16, username: "zxczxc",
email: "zxczxc@zxczxc.zxc", created_at: "2011-10-01 16:50:24",
updated_at: "2011-10-05 00:48:24",
encrypted_password: "a80104b33a0183e096f2ec82b3b9a8c4240fe61828ef5030e52...",
salt: nil,
avatar_file_name: nil, avatar_content_type: nil,
avatar_file_size: nil, avatar_updated_at: nil>]
有没有办法只获取用户的用户名,而不是整个哈希?
答案 0 :(得分:3)
看起来更像是一个对象数组(不熟悉你正在使用的宝石)。
这样的事情是否有效:
<% current_user.pending_invited_by.each do |user| %>
<%= user.username %>
<% end %>
答案 1 :(得分:1)
只是做:
<% current_user.pending_invited.each do |u| %>
<%= u.username %>
<% end %>
答案 2 :(得分:1)
从Amistad文档看,评估pending_invited_by
似乎会返回一组用户。所以你实际上需要迭代这些以获得每个的名字。
Pending: <%= current_user.pending_invited_by.map{|user| user.username }.join(", ") %>