我有一个模型,Procedure
该模型必须由一个用户拥有并分配给另一个用户。我只有一个表User,具有区分用户的角色。
因此,一个过程有2个对表User的引用。
belongs_to :owner, class_name: "User", foreign_key: "owner_id"
belongs_to :assignee, class_name: "User", foreign_key: "assignee_id"
在模型用户中我有这个
has_many :owned_procedures, class_name: "Procedure", foreign_key: "owner_id"
has_many :assigned_procedures, class_name: "Procedure", foreign_key: "assignee_id"
但我不明白应如何物理地实现这一点,我的意思是在表级别:表procedures
需要同时具有两个字段owner_id and assignee_id
,还是仅具有一个字段user_id
?
表过程需要同时具有owner_id和Assignee_id字段,还是仅具有user_id字段
您应该在表中同时使用owner_id
和assignee_id
,procedures
而不是user_id
这样,以便可以调用
@user.owned_procedures
@user.assigned_procedures
获得owned_procedures
和的assigned_procedures
,@user
这是的一个实例User
。并获取owner
和assignee
的过程,请致电
@procedure.owner
@procedure.assignee
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句