首页 > 解决方案 > RAILS 5 中两个具有相同关系的模型

问题描述

这是场景:

HMO has_many USER(这些是 HMO 的成员)。一个用户属于 HMO。

A USER ==HMO 的所有者== has_one HMO。HMO 属于 USER。

现在,当我查询 Hmo.first.users 时,所有者也包含在列表中。如何在 RAILS ActiveRecord 关系上实现这一点?

标签: ruby-on-railsactiverecordruby-on-rails-5

解决方案


HMO的用户和所有者有什么区别?
如果您有所有者的布尔标志,那么您可以使用类似这样的方法来获取没有所有者的用户:

has_many :users, -> { where owner: false }, class_name: 'User'

文档:has_many 的范围


推荐阅读