我有一个用户模型和一个任务模型。所有用户都是相同的,每个用户都可以创建一个新任务并将该任务分配给另一个用户。在任务模型中,我有一个assigned_by
列和一个assigned_to
列,这样任何人都可以创建一个新任务并将其分配给任何其他人。后来我希望每个用户都能查看分配给他们的所有任务以及他们分配给其他人的所有任务。要做到这一点,我想建立一个关联。做这样的事情可以吗?Rails一个模型两个协会
class Task < ApplicationRecord
belongs_to :user, :foreign_key => 'assigned_by'
belongs_to :user, :foreign_key => 'assigned_to'
end
我在同一模型中有两个外键。然后在用户模式中,我有:
class User < ApplicationRecord
has_many :tasks
end
这是做这种事情的正确方法吗?
可以吗?不,第二个'belongs_to:user,:foreign_key =>'assigned_to''会覆盖前面的关系。 – max