我正试图找出访问对象集合的“rails”方式(Rails 4)。
我有团队模型,成员模型和团队成员模型。一个团队可以拥有多个成员,一个成员可以在多个团队中。会员可以在每个团队中拥有不同的身份。
我为团队和成员设置了很多通过(团队通过team_members有很多成员)
我的问题是查询团队中所有活跃团队成员的正确方法是什么,并返回成员的活动记录关系
现在我通过team_id和status id(包括成员)查询team_member模型。这将返回team_member关系,并通过team_member.member.first_name
访问成员因为一旦这个查询运行,我不需要team_member上的任何其他信息,我想直接获得成员的结果并将其作为member.first_name处理。
提前致谢。
答案 0 :(得分:1)
我会在行之间尝试一些东西(未经测试):
class Team
has_many :team_members
has_many :members, through: :team_members do
def active
where(team_members: { status: :active})
end
end
end
Team.last.members.active
答案 1 :(得分:0)
我最终使用了这样的东西
Team.find(2).members.where(:team_members => {:status_id => 1})
由于