Rails multiple belongs_to for same class
Asked Answered
M

2

7

Say I have a model of type A, and a model of type B, which has the fields a_id a2_id. I want to have something like:

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

Does anyone know how I would do this? I am trying to use the class B to link similar objects in my DB.

Masoretic answered 24/7, 2012 at 0:13 Comment(0)
G
6

You can do this

class B
  belongs_to :a
  belongs_to :a2, foreign_key: 'a2_id', class_name: 'A'
end
Gallop answered 24/7, 2012 at 0:25 Comment(0)
A
2

or even this:

class B < ActiveRecord::Base
  attr_accessible :a2_id, :a_id, :name
  belongs_to :a
  belongs_to :a2, class_name: "A"
end
Anaglyph answered 24/7, 2012 at 0:27 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.