モデルをハッシュ形式のJSONに変換
適応バージョン
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.2.1
- 7.0.0
説明
モデルをハッシュ形式のJSONに変換
使い方
モデル.as_json([オプション])
オプション
オプション | 説明 | デフォルト値 |
---|---|---|
:root | ノード名を含める | false |
:only | 取得する要素を指定 | |
:except | 取得しない要素を指定 | |
:methods | メソッドの呼び出し結果を含める | |
:include | 関連付け |
例
モデルをハッシュ形式のJSONに変換
user.as_json
# {id: 1, name: "Konata Izumi", age: 16, created_at: "2006-08-01T17:27:133.000Z", awesome: true}
ノード名を含める
user.as_json(root: true)
# => { "user" => { "id" => 1, "age" => 16, "created_at" => "2006-08-01T17:27:13.000Z", "awesome" => true } }
取得する要素を指定
user.as_json(only: [:id, :age])
# => { "id" => 1, "age" => 16 }
取得しない要素を指定
user.as_json(except: [:id, :created_at, :name])
# => { "age" => 16, "awesome" => true }
メソッドを指定
user.as_json(methods: :permalink)
# => { "id" => 1, "name" => "Konata Izumi", "age" => 16, "created_at" => "2006-08-01T17:27:13.000Z", "awesome" => true, "permalink" => "1-konata-izumi" }
関連付け
user.as_json(include: :posts)
# => { "id" => 1, "name" => "Konata Izumi", "age" => 16, "created_at" => "2006-08-01T17:27:13.000Z", "awesome" => true, "posts" => [ { "id" => 1, "author_id" => 1, "title" => "Welcome to the weblog" }, { "id" => 2, "author_id" => 1, "title" => "So I was thinking" } ] }