3
我不得不通过模型权限模型角色和访问的的has_many关系。轨道/通过协会活动记录的has_many - 取创纪录的
我有没有两个角色应该具有相同的访问情况。所以,我创建了一个自定义的验证,当电流作用(创建)使用被分配相同的访问如前现有的角色基本上导致一个错误消息,
errors.add(:Role, "already exists with selected permissions") if Role.all.map(&:access_ids).include?(self.access_ids)
这一切工作正常。现在我需要获取与当前角色具有相同访问权限的角色。那么,我该怎么做?我试图与
Role.includes(:accesses).where(:accesses => {:id => [1,2]}).count
但这返回其访问标识具有的所有角色是1或2(说[1,2,3,4],[1],[2])。我需要的是获得其访问IDS正是1和2
这将是很好,如果我可以替代的作用“=>”与“==”在上面的查询:)但是,这显然是行不通的。
hmm..it作品,但不知何故似乎具有很多查询语句的循环结果。 Theres错误也应该是r.access_ids。我建议在数据库查询期间避免这种循环。 无论如何,谢谢 – prasvin
您正在使用上面类似的循环来检查您上面显示的验证,这就是为什么我建议使用这种技术。如果您可以为上述验证提供更好的解决方案,则可以使用相同的查询来获取以下角色。 – Dipil