Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在RAILS 5中,具有2的两个模型之间的关系相同_Ruby On Rails_Activerecord_Ruby On Rails 5 - Fatal编程技术网

Ruby on rails 在RAILS 5中,具有2的两个模型之间的关系相同

Ruby on rails 在RAILS 5中,具有2的两个模型之间的关系相同,ruby-on-rails,activerecord,ruby-on-rails-5,Ruby On Rails,Activerecord,Ruby On Rails 5,以下是场景: HMO有许多用户(这些是HMO的成员)。 用户属于HMO HMO==的用户==所有者拥有一个HMO。 HMO属于用户 现在,当我查询Hmo.first.users时,所有者也包括在列表中。 如何在RAILS ActiveRecord上实现这种关系?HMO的用户和所有者之间有什么区别? 如果拥有者有一个布尔标志,那么可以使用类似的方法来获取没有所有者的用户: has_many :users, -> { where owner: false }, class_name: 'Use

以下是场景:

HMO有许多用户(这些是HMO的成员)。 用户属于HMO

HMO==的用户==所有者拥有一个HMO。 HMO属于用户

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

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

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

实际上没有区别,它们保存相同的属性。这是否意味着我需要添加一个属性:owner和默认值将为false。您在HMO模型中保存了owner\u id吗?我在HMO模型中保存了user\u id。我需要为这个做别名吗?实际上,多亏了你的想法,它已经起作用了。我只是扭曲了它。默认情况下,我有一个用户类型:0表示“用户”,1表示“所有者”,那么您不必做任何其他事情:)请记住,我的答案是帮助您的答案