読者です 読者をやめる 読者になる 読者になる

spring of life

技術、ときどき日常のブログ(予定)

jbuilder の使い方2

前に こういう記事を書いたんだけど、結構見られてるんだよね笑

leonis.hatenablog.com

で、1つ前の記事で多対多の関連を作ったというのを書いて、同時にレスポンスの json の形式も↓のように変えてみた

# 変更前
{
  "payment_type": "income",
  "date": "2017-04-16",
  "content": "hogehoge",
  "category": "fuga",
  "price": 100
}
# 変更後
{
  "payment_type": "income",
  "date": "2017-04-16",
  "content": "hogehoge",
  "categories": [
    {"id: 1, "name": "fuga"}
  ],
  "price": 100
}

もともとカテゴリは複数付くのを想定してたんだが、適当にカンマ区切りの文字列にしてた。。。

で、まぁ今回ちょっとカテゴリをリソース化してみようと思って、ついでにレスポンスも真面目に考えることにした(。-_-。)

ここからが本題↓

途中に関連するモデルの属性を入れる時

↑でいう変更後の json を作ってみる

json.(@payment, :payment_type, :date, :content)
json.(@payment.categories, :id, :name)
json.(@payment, :price)
# payment_type, date, content, price は@payment の属性
# id, name は@payment に関連しているカテゴリ情報の属性

単純に上から順番に属性を書いていけばいいだけなんですね。。。わかりやすい。。。