Ember-cli实现自定义序列化器

use*_*053 3 ember.js ruby-on-rails-4 ember-cli

在一个带有Rails 4后端的基于Ember-cli的项目中 - 我需要能够保存(并最终读取)嵌套数据.数据模型很直接......

Survey
  name: string

Question:
  survey_id: integer
  question_type_id: integer
  text: string

Answer: 
  question_id: integer
  text: string

A Survey hasMany Questions.  Each Question hasMany Answers
Run Code Online (Sandbox Code Playgroud)

我想弄清楚如何编写自定义Survey序列化程序.根据我的研究,我知道我需要扩展DS.JSONSerializer - 但我不知道该怎么做.任何帮助将不胜感激.

谢谢

Pet*_*own 5

Ember-cli带有一个用于启动序列发生器的发生器.你可以运行它

$ ember g serializer Survey
Run Code Online (Sandbox Code Playgroud)

产生:

version: 0.0.40
installing
  create app/serializers/survey.js
  create tests/unit/serializers/survey-test.js
Run Code Online (Sandbox Code Playgroud)

开箱即用,序列化器将如下所示:

import DS from 'ember-data';

export default DS.RESTSerializer.extend({
});
Run Code Online (Sandbox Code Playgroud)

您现在可以根据自己的需要进行自定义.由于您没有给出任何关于您希望进行哪种自定义的指示,因此您可能需要阅读文档.具体来说,您可以查看有关自定义部分.

  • 出于某种原因,这对我不起作用.我为我的模型创建了序列化程序,但似乎在加载模型时永远不会调用这些方法.可能是什么原因造成的? (4认同)
  • 这里也有同样的问题..`init`被调用,但`serialize`没有. (3认同)