3

我将默认 RESTAdapter 与 ActiveModelAdapter 一起使用,并且我想在特定模型中包含一个JSON 对象。
例如:

App.Game = DS.Model.extend(
  name: attr('string')
  options: attr('raw') # This should be a JSON object
)

阅读ember-data/TRANSITION.md后。
我使用了示例中的相同变压器:

App.RawTransform = DS.Transform.extend({
  deserialize: function(serialized) {
    return serialized;
  },
  serialize: function(deserialized) {
    return deserialized;
  }
});

当我尝试创建Game实例模型并保存它时,POST 数据中的options属性为“null”(字符串类型)。

App.GamesController = Ember.ObjectController.extend(
  actions:
    add_new: ->
      game = this.get('model')
      game.set('options', {max_time: 15, max_rounds: 5})
      game.save()
)

我在这里想念什么?

4

1 回答 1

6

可能您需要注册您的转换:

App = Ember.Application.create();

App.RawTransform = DS.Transform.extend({
  deserialize: function(serialized) {
    return serialized;
  },
  serialize: function(deserialized) {
    return deserialized;
  }
});

App.initializer({
  name: "raw-transform",

  initialize: function(container, application) {
    application.register('transform:raw', App.RawTransform);      
  }
});

我希望它有帮助

于 2013-11-07T13:16:31.127 回答