2013-01-20 6 views
5

Nella guida Ember sui modelli http://emberjs.com/guides/models/the-rest-adapter/#toc_relationships vedo che le associazioni devono essere specificati come una matrice di ID:Come posso ottenere Rails per generare JSON nel formato corretto per ember.js?

{ "post": { "commenti": [1, 2, 3] } }

Ho problemi a capire come generare la matrice di ID nel controller delle guide. Anche se posso: includere i modelli associati, essi sono inclusi come un array di hash:

{ "nome":, "stanze" "di Jane Place": [{ "id": 1}, { "id ": 2}, {" id ": 3}]}

Qualche idea su come si otterrebbe la matrice?

risposta

6

Ember consiglia di utilizzare la gemma active_model_serializers per generare JSON in un formato compatibile.

Ecco un esempio dalla documentazione active_model_serializer per fare esattamente ciò che stai chiedendo. Il embed :ids è la chiave.

class PostSerializer < ActiveModel::Serializer 
    embed :ids 

    attributes :id, :title, :body 
    has_many :comments 
end 

https://github.com/rails-api/active_model_serializers

+0

Grazie, appena scoperto che io dopo aver letto https://github.com/emberjs /dati. Installa e prova active_model_serializers. –

+0

Basta confermare che active_model_serializers funziona come un incantesimo. –

-1

modo alternativo per farlo è quando il passaggio di risposta creazione: radice => true

respond_to do |format| 
    format.html # index.html.erb 
    format.json { render :json => @posts, :root => true } 
end 
Problemi correlati