【发布时间】:2011-04-08 05:19:53
【问题描述】:
我有 3 个模型:用户、团队和成员 -
class Team < ActiveRecord::Base
has_many :memberships
has_many :members, :through => :memberships, :source => :user
end
class User < ActiveRecord::Base
has_many :memberships, :dependent => :destroy
has_many :teams, :through => :memberships
def team_mates
teams = Team.where(:members => id)
team_mates = teams.members
end
end
class Membership < ActiveRecord::Base
belongs_to :user
belongs_to :team
validates :user_id, :presence => true
validates :team_id, :presence => true
end
而且,我不太清楚如何在 User 模型中编写 team_mates 方法。它应该返回与 current_user 组中的其他用户的数组。我的想法是我应该使用范围来限制 Team 只包括当前用户是成员的团队,但我不太清楚语法。对此的任何帮助将不胜感激。
谢谢!
【问题讨论】:
标签: ruby-on-rails-3 scope many-to-many