Ruby on rails在同一个表上有多个连接

时间:2012-09-09 09:13:41

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

我的模型有:

Class Bar < ActiveRecord::Base
#...
belongs_to :foo_A, :class_name => "Foo"
belongs_to :foo_B, :class_name => "Foo"

我想从表Foo中获取信息如下(代码不起作用):

Bar.joins(:foo_A, :foo_B).select("bars.*, foos_a.name as foo_a_name, foos_b.name as foo_b_name").all

当然,没有foos_a或foos_b表......只是foos表。

有没有办法在不编写整个SQL查询的情况下执行此操作?

由于

1 个答案:

答案 0 :(得分:0)

您必须为每个belongs_to设置foreign_key。请参阅Same Model for Two belongs_to Associations

中的详情
belongs_to :foo_A, :class_name => "Foo", :foreign_key => 'foo_a_id'
belongs_to :foo_B, :class_name => "Foo", :foreign_key => 'foo_b_id'