Check out example codes for "rails many to many relationship same model". It will help you in understanding the concepts better.
Code Example 1
class Page < ActiveRecord::Base
has_many :left_page_associations, :foreign_key => :left_page_id,
:class_name => 'PageAssociation'
has_many :left_associations, :through => :left_page_associations,
:source => :right_page
has_many :right_page_associations, :foreign_key => :right_page_id,
:class_name => 'PageAssociation'
has_many :right_associations, :through => :right_page_associations,
:source => :left_page
end
Code Example 2
class PageAssociation < ActiveRecord::Base
belongs_to :left_page, :class_name => 'Page'
belongs_to :right_page, :class_name => 'Page'
end
Code Example 3
class Page < ActiveRecord::Base
has_many :left_page_associations, :foreign_key => :left_page_id,
:class_name => 'PageAssociation'
has_many :left_associations, :through => :left_page_associations,
:source => :right_page
has_many :right_page_associations, :foreign_key => :right_page_id,
:class_name => 'PageAssociation'
has_many :right_associations, :through => :right_page_associations,
:source => :left_page
def associations
(left_associations + right_associations).flatten.uniq
end
end
Learn ReactJs, React Native from akashmittal.com