ruby-on-rails – Rails – 双向“友谊”模型(续)

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails – 双向“友谊”模型(续)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是这个问题的延续:
Original Question (SO)

这个问题的答案涉及以下一组模型:

class User < ActiveRecord::Base
  has_many :friendships
  has_many :friends,:through => :friendships #...
end

class Friendship < ActiveRecord::Base
  belongs_to :user
  belongs_to :friend,:class_name => 'User',:foreign_key => 'friend_id'
end 

<% for friendship in @user.friendships %>
  <%= friendship.status %>
  <%= friendship.friend.firstname %>
<% end %>

这样可以正常工作,如果说,我有一个用户,我想得到他或她的id为:友谊模型上的user_id FK的所有“友谊”.但是,当我运行类似的东西时

@user.friendships.friends

我希望它返回用户所在的所有用户记录:用户或友谊中的:朋友 – 换句话说,返回该用户所涉及的所有友谊.

希望以上是有道理的.我仍然对rails非常陌生,希望有一种方法可以优雅地完成这项工作,而无需仅使用标准链接表或提供自定义sql.

谢谢!

汤姆

解决方法

关于这个话题的 railscasts episode
原文链接:https://www.f2er.com/ruby/267377.html

猜你在找的Ruby相关文章