私は三つのモデル、アイテムと転送とカテゴリ(別名アイテムタイプ)があります。私のコントローラでRailsの - にhas_manyの関係を含む
class Item < ApplicationRecord
belongs_to :category
has_many :transfers
end
class Transfer < ApplicationRecord
belongs_to :item
end
class Category < ApplicationRecord
has_many :item
end
を、私は、その結果
render json: @item, include: %i[transfer category]
# FWIW the include doesn't seem to affect category at all...
を持っています
{
data: {
id,
attributes: {
/* the other attributes */
transfers: [ { /* full transfer object */ } ]
},
relationships: {
category: { data: { id, type: 'categories' } },
transfers: { data: [ { /* full transfer object */ } ]
}
}
},
included: [ { type: 'category', id, attributes } ]
}
JSON Apiペイロードは、次のような形を取っています。それぞれのtransfer
が属性または関係にネストされているのではなく、included
配列に含まれるようにするにはどうすればよいですか?
ありがとうございました!
編集:重複しません。回答を入れ子にするつもりはなく、JSON API仕様に準拠するためにはincluded
セクションに含めてください。とにかく、私はそれを理解したので、すぐに答えが出ます!
'transfer'の代わりに' transfers'を試してみてください。 – Gerry
ありがとう@Gerryはタイプミスでした。一定。それでもまだ動作しません:/ –
[ネスト:jsonインクルードの可能な複製](http://stackoverflow.com/questions/9983436/nesting-json-include-in-rails) – TiSer