0
  render :json mailbox.inbox.as_json(:include => [
      {:messages => {:only => [:body]}}, 
      {:recipients => {:only => [:Firstname,:Surname]}}
    ])

Railsコントローラーから次の出力が生成されます。

[
    {
        "conversation":
        {
            "subject":"Subject for conversation 2",
            "messages" :[
                {"body":"Message 1"},
                {"body":"Message 2"} 
            ],
            "recipients": [
                {"Firstname":"James","Surname":"Smith"},
                {"Firstname":"John","Surname":"Doe"} 
            ]
        }
    }
]

私がやりたいことは、current_userキーと値のペアを各会話オブジェクトに追加して、出力サンプルが次のようになるようにすることです。

[
    {
        "conversation":
        {
            "subject":"Subject for conversation 2",
            "messages" :[
                {"body":"Message 1"},
                {"body":"Message 2"},

            ],
            "recipients": [
                {"Firstname":"James","Surname":"Smith"},
                {"Firstname":"John","Surname":"Doe"} 
            ],
            "current_user" :[
                {"id":10}
            ]
        }
    }
]

問題の会話モデルにアクセスできない (メールボックスの gem から実行されている) ため、as_json をオーバーライドできません。どんな助けでもいただければ幸いです

4

1 に答える 1