如何让Rails以正确的ember.js格式生成JSON?

Mar*_*ard 5 json ruby-on-rails ember.js

在模型http://emberjs.com/guides/models/the-rest-adapter/#toc_relationships的Ember指南中,我看到应该将关联指定为id数组:

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

我无法解决如何在rails控制器中生成id数组的问题.虽然我可以:包含相关的模型,但它们包含在一个哈希数组中:

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

关于如何获得阵列形式的任何想法?

kst*_*715 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
Run Code Online (Sandbox Code Playgroud)

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