1

データベース (mySQL) には、 という名前のテーブルtestsと、関連する (FK 経由の) テーブルがありcarsます。gemを使用して、ActiveRecordこれらのテーブルのクラスを に追加しましたschema.rb

class Test < ActiveRecord::Base
  has_many :cars
end

class Car <ActiveRecord::Base
  belongs_to :tests
end

以下の簡単なスクリプトを実行します。

puts "the Test Object identified by name 'Rob'"
puts Test.find_by_name("Rob").to_json
puts "Cool - no problem!"
puts ""
puts "the cars that belong to Rob 
puts Test.find_by_name("Rob").cars.to_json
puts "Correct - Rob has 2 cars "

期待される結果を生成します。

the Test Object identified by name 'Rob'
{"test":{"idtest":1,"name":"Rob","rugby_team":"Lions"}}
Cool - no problem!

the cars that belong to Rob 
[
    {"car":{"car_make":"Honda","idcars":1,"test_id":1}},
    {"car":{"car_make":"Nissan","idcars":7,"test_id":1}}
]
Correct - Rob has 2 cars!

2 番目のクエリは、次のような json (Carオブジェクトの配列)を返すはずだと想像しました。

{cars: [ 
    {"car_make":"Honda","idcars":1,"test_id":1},
    {"car_make":"Nissan","idcars":7,"test_id":1}
    ]}

質問 1:上記の例で何が間違っていますか?

質問 2 :ロブの車を最初のテスト オブジェクトの一部として取得するには、何を変更する必要がありますか? (下の例のように)

返品する必要があるもの:

{"test":{"idtest":1,"name":"Rob","rugby_team":"Lions", 
    {cars: [ 
        {"car_make":"Honda","idcars":1,"test_id":1},
        {"car_make":"Nissan","idcars":7,"test_id":1}
        ]}
     }
}
4

0 に答える 0