2016-04-10 15 views
1

私はレールが新しく、2つのモデルがあり、もう一方のモデルには外部キーがあります。Ruby on RailsでJSONネストされたモデルをシリアライズ

私はコントローラを作成して定義し、正常に動作しているインデックス方法:私はリストにそのbook_idフィールドを変換したい

[{"id":1,"title":"Collection A","book_id":1,"created_at":"2016-04-10T18:41:32.709Z","updated_at":"2016-04-10T18:41:32.709Z"}]

:このような何かをレンダリングしている

def index 
    @collections = Collection.all 
    render json: @collections 
    end 

ブックオブジェクトのうち、次のようなもの:

[{"id":1,"title":"Collection A","books": [{"book_id": 1, "title: "book_title"},],"created_at":"2016-04-10T18:41:32.709Z","updated_at":"2016-04-10T18:41:32.709Z"}]

次に試しました:

def index 
    @collections = Collection.all 
    render :json => collections.as_json(
        :include => { :book_title } 
       ) 
    end 
しかし、私は構文エラーを与えていると私はRailsのを使用しています http://guides.rubyonrails.org/layouts_and_rendering.html

このdocにそれを正しく行う方法を見ることができない4.1.0

答えて

2

試してみてください。

def index 
    @collections = Collection.all 
    render :json => @collections.as_json(
        :include => :book 
       ) 
    end 

または:idと:title:

+0

私はあなたの最初の例を試してみましたが、#CollectionsController:0x00000003d73680の未定義のローカル変数またはメソッド 'collections 'を教えてくれましたか? @collectionsそして、私は@collectionsで試してみました。それはあなたがbook_idを意味したと言いますか? – lapinkoira

+0

はい、私は@コレクションを意味します –

+0

私の答えを修正させてください –

関連する問題