24501


jsonを返すapiを作っています。

モデルは2つあり、  
\- post  
\- user  
となっています。

関係は`post >- user`という感じで、ユーザーが複数のポストを持っています。

例えば全ての情報をかえす場合は

[code]

    {
      posts: [{
        id: 1,
        name: title1,
        user: {
          id: 1
          name: name1
        }
      }, {
        id: 2,
        name: title2,
        user: {
          id: 1
          name: name1
        }
      }]
    }
    
[/code]

このようなjsonを返したいと考えています。

ただ、`Post.all.to_json`としてしまうと`User`モデルの情報が含まれず、書き方がわかりません。  
上記のような形にしたい場合はどのようにコードを書いてJsonを生成するのが良いのでしょうか。


CC BY-SA 3.0
2016-05-01T13:14:30.680
24494
2016-05-02T00:01:53.257
9149
question
ruby-on-rails ruby rails-activerecord
RubyのActiveRecordでbelongs_toのデータを含める方法


`to_json belongs_to` で検索しましょう


CC BY-SA 3.0
2016-05-01T23:36:18.770
24499
2016-05-01T23:36:18.770
7471
24494
answer

[code]

    Post.all.to_json(include: :user)
    
[/code]

のように、`#to_json`の`include`オプションにリレーション名を指定することで可能です


CC BY-SA 3.0
2016-05-02T00:01:53.257
24501
2016-05-02T00:01:53.257
5793
24494
answer