私はUserモデルとTaskモデルを持っています。すべてのユーザーは同じで、各ユーザーは新しいタスクを作成し、そのタスクを別のユーザーに割り当てることができます。タスクモデルでは、assigned_by
列とassigned_to
列があり、誰でも新しいタスクを作成して他の誰かに割り当てることができます。後で、各ユーザーが自分に割り当てられたすべてのタスクと、他のユーザーに割り当てられたすべてのタスクを表示できるようにしたいと考えています。これを行うには、関連付けを設定する必要があります。このようなことは大丈夫ですか?1つのモデル2つの関連付けを継承します
class Task < ApplicationRecord
belongs_to :user, :foreign_key => 'assigned_by'
belongs_to :user, :foreign_key => 'assigned_to'
end
私は同じモデルに2つの外部キーがあります。ユーザーモデルでは、私は持っています:
class User < ApplicationRecord
has_many :tasks
end
これは、このようなことを行う正しい方法ですか?
大丈夫ですか?いいえ、2番目の 'belongs_to:user、:foreign_key => 'assigned_to''は前の関係を上書きします。 – max