友谊.rb
belongs_to :user, :include => [:profile]
belongs_to :friend, :class_name => 'user'
用户.rb
#following code
has_many :friendships
has_many :friends, :through => :friendships
#followers code
has_many :inverse_friendships, :class_name => "Friendship", :foreign_key => "friend_id"
has_many :inverse_friends, :through => :inverse_friendships, :source => :user
使用此代码显示我已加好友以及已加好友的人
看法
<h2>Friends</h2>
<ul>
<% for friendship in @user.friendships.includes(:user) %>
<li>
<%= friendship.user.username %>
(<%= link_to "remove", friendship, :method => :delete %>)
</li>
<% end %>
</ul>
<p><%= link_to "Find Friends", users_path %></p>
<h2>Friended by Users</h2>
<ul>
<% for user in @user.inverse_friends %>
<li><%=h user.username %></li>
<% end %>
</ul>
在第一个循环块上,我总是打印我的用户名,让我们称之为“ fxuser ”在第二个循环块上,我得到了与我成为朋友的正确用户名......
如何解决这个问题,以便第一个循环将显示我交友的正确用户名?