我想写这样的东西
User.groups.members.addresses
我需要的是用户有权访问的所有地址的数组。如果用户分为两组,每组有2个唯一成员,其中包含唯一地址,我想要一个包含4个地址的数组
在rails 4上使用Ruby
答案 0 :(得分:1)
您应该能够在地址模型中添加范围,只需在其中添加一些连接即可。没有测试过,但它应该在正确的轨道上。
class Address
scope :by_user, -> user { joins(:member).joins(:group).where(user: {id: user.id})}}
end
用法:
Address.by_user(@user)