ruby-on-rails – 与一个表的多个关联
发布时间:2020-12-17 02:15:47 所属栏目:百科 来源:网络整理
导读:在问这个问题之前我已经搜索了一下但是我肯定无法让它工作…… 我有一个Group模型,它有一个manager_id,一个designer_id和其他用户ID,对应于该组中的不同用户角色.它们是具有不同外键的组模型中的has_one用户关联. 我在User模型中尝试了多个belongs_to关联但
在问这个问题之前我已经搜索了一下但是我肯定无法让它工作……
我有一个Group模型,它有一个manager_id,一个designer_id和其他用户ID,对应于该组中的不同用户角色.它们是具有不同外键的组模型中的has_one用户关联. 我在User模型中尝试了多个belongs_to关联但是…属于该组的用户(他们有一个group_id列)可以是这些角色之一,我真的不知道如何检查这些以及如何做用户模型中的关联. 先感谢您. PS:用户可以只属于一个组,这就是为什么我只是将group_id放在User模型中而不是在连接表上. 解决方法
如果作为一个团队中的经理或设计师意味着某人是该团体的成员,那么你无法轻易做到这一点,你应该创建一个会员模型,它具有“角色”属性,表明用户代表的角色在一个特定的组中,这是它的样子:
class User has_one :membership end class Group has_many :memberships end class Membership belongs_to :group belongs_to :user validates_presence_of :role validates_inclusion_of :role,:in => [ 'manager','designer','member' ] validates_uniqueness_of :user_id,:scope => :group_id end 这为您提供了功能,甚至允许您为组定义尽可能多的角色. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |