2013-01-20 61 views
5

在上模型http://emberjs.com/guides/models/the-rest-adapter/#toc_relationships灰燼引導我看到協會應被指定爲一組ID:如何讓Rails以ember.js的正確格式生成JSON?

{ 「後」:{ 「評論」:[1,2,3] } }

我遇到了麻煩,如何生成軌道控制器中的ID數組。雖然我可以:包含相關模型,但它們包含在一個哈希列表中:

{「name」:「Jane's Place」,「rooms」:[{「id」:1},{「id 「:2},{」id「:3}]}

有關如何獲取數組格式的任何想法?

回答

6

Ember建議使用active_model_serializers gem以兼容格式生成JSON。

下面是active_model_serializer文檔中的一個示例,它幾乎完全符合您的要求。關鍵是embed :ids

class PostSerializer < ActiveModel::Serializer 
    embed :ids 

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

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

+0

謝謝,才發現,原來自己看完後https://github.com/emberjs /數據。將安裝並嘗試active_model_serializers。 –

+0

只需確認active_model_serializers就像一個魅力。 –

-1

這樣做的另一種方法是在創建響應傳遞:根=>真

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