Rails多个belongs_to为同一个类

时间:2012-07-24 00:13:22

标签: ruby-on-rails ruby ruby-on-rails-3 rails-models

假设我有一个A型模型和一个B型模型,它的字段为a_id a2_id。我希望有类似的东西:

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

有谁知道我会怎么做?我正在尝试使用B类链接数据库中的类似对象。

2 个答案:

答案 0 :(得分:6)

你可以这样做

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

答案 1 :(得分:2)

甚至是这样:

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