複数の外部キーとのRailsの関連付け
1つのテーブルで2つの列を使用して、関係を定義できるようにしたい。したがって、例としてタスクアプリを使用します。 試行1: class User < ActiveRecord::Base has_many :tasks end class Task < ActiveRecord::Base belongs_to :owner, class_name: "User", foreign_key: "owner_id" belongs_to :assignee, class_name: "User", foreign_key: "assignee_id" end それで Task.create(owner_id:1, assignee_id: 2) これにより、Task.first.ownerどちらがユーザー1Task.first.assigneeを返し、どちらがユーザー2を返すが、User.first.task何も返さないかを実行できます。どのタスクがユーザーに属していないため、彼らはに属し、所有者および譲受人。そう、 試行2: class User < ActiveRecord::Base has_many :tasks, foreign_key: [:owner_id, :assignee_id] end class Task < ActiveRecord::Base belongs_to :user end 2つの外部キーがサポートされていないように見えるため、これは完全に失敗します。 …