Rails Model has_many with multiple foreign_keys

前端 未结 8 1085
说谎
说谎 2020-11-28 06:04

Relatively new to rails and trying to model a very simple family \"tree\" with a single Person model that has a name, gender, father_id and mother_id (2 parents). Below is b

8条回答
  •  天涯浪人
    2020-11-28 06:12

    Found a simple answer on IRC that seems to work (thanks to Radar):

    class Person < ActiveRecord::Base
      belongs_to :father, :class_name => 'Person'
      belongs_to :mother, :class_name => 'Person'
      has_many :children_of_father, :class_name => 'Person', :foreign_key => 'father_id'
      has_many :children_of_mother, :class_name => 'Person', :foreign_key => 'mother_id'
      def children
         children_of_mother + children_of_father
      end
    end
    

提交回复
热议问题