cak*_*rus 6 ruby ruby-on-rails
这是这个问题的延续: 原始问题(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 %>
Run Code Online (Sandbox Code Playgroud)
这样可以正常工作,如果说,我有一个用户,我想得到他或她的id为:友谊模型上的user_id FK的所有"友谊".但是,当我运行类似的东西时
@user.friendships.friends
Run Code Online (Sandbox Code Playgroud)
我希望它返回用户所在的所有用户记录:用户或友谊中的:朋友 - 换句话说,返回该用户所涉及的所有友谊.
希望以上是有道理的.我仍然对rails非常陌生,希望有一种方法可以优雅地完成这项工作,而无需仅使用标准链接表或提供自定义SQL.
谢谢!
汤姆
| 归档时间: |
|
| 查看次数: |
5555 次 |
| 最近记录: |