0

アクティブ レコード 3.0 を使用して 2 つのテーブルを結合できません

テーブル A
ID 名
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"

DBでクエリを実行すると、正しい出力が得られますが、レールロガーの出力は間違っています

#<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

どんな助けでも本当に感謝しています..

4

1 に答える 1

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 %>

または同様の方法でそれを操作します

于 2011-09-15T17:23:09.567 に答える