5

モデルに関する Ember ガイドhttp://emberjs.com/guides/models/the-rest-adapter/#toc_relationshipsでは、関連付けを ID の配列として指定する必要があることがわかります。

{ "投稿": { "コメント": [1, 2, 3] } }

RailsコントローラーでIDの配列を生成する方法がわかりません。関連するモデルを :include することはできますが、それらはハッシュの配列として含まれています。

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

配列形式を取得する方法についてのアイデアはありますか?

4

2 に答える 2

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

于 2013-01-20T02:37:22.050 に答える
-1

これを行う別の方法は、応答パスを作成するときです:root => true

respond_to do |format|
  format.html # index.html.erb
  format.json { render :json => @posts, :root => true }
end
于 2013-01-20T03:02:47.520 に答える