Rails 3加入Active Record查询

时间:2011-09-15 17:19:05

标签: sql ruby-on-rails-3 activerecord model-associations

我被困在使用活动记录3.0连接两个表

表A
身份证号码 1 xcv

表B #a_id是foreign_key
id日期a_id
1 9/15 1

如何使用活动记录查询输出为
id date a_name
1 9/15 / xcv

当我这样做时

B.joins(:A)
模型B中的

比我得到的sql

SELECT "B".* FROM "B" INNER JOIN "A" ON "A"."ID" = "B"."A_ID"

当我在我们的数据库上查询它时,它会给出正确的输出,但是rails logger输出错误

#<B id: 1, date"9/15/11", a_id: 2>

我想要的是

#<B id: 1, date"9/15/11", a_name: xcv>

关系如下

A has_many :B
B belongs_to :A

真的很感激任何帮助..

1 个答案:

答案 0 :(得分:0)

我相信你要找的是

@bees = b.includes(:a).all # this will join A and eager load your A's

然后在您的视图中,您可以输出

<% @bees.each do |b| %>
  <%= b.a.name %>, <%= b.a.date %>
<% end %>

或以类似的方式使用它