Rails multiple принадлежит к одному классу

скажем, у меня есть модель типа A и модель типа B, которая имеет поля a_id a2_id. Я хочу иметь что-то вроде:

class B
  belongs_to :a
  belongs_to :a (using a2)
end

кто-нибудь знает, как я это сделаю? Я пытаюсь использовать класс B для связи подобных объектов в моей БД.

2 ответов


вы можете сделать это

class B
  belongs_to :a
  belongs_to :a2, foreign_key: 'a2_id', class_name: 'A'
end

или даже так:

class B < ActiveRecord::Base
  attr_accessible :a2_id, :a_id, :name
  belongs_to :a
  belongs_to :a2, class_name: "A"
end