我有一个名为Procedure
的模型,它必须由用户拥有并分配给另一个用户。我有一个表User,具有区分用户的角色。
所以一个过程有2个表用户的引用。
我找到并实现了这个解决方案here所以在我的程序模型中
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