这是这个问题的延续:
Original Question (SO)
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