余烬原始 JSON 转换不起作用,但例外

Ember raw JSON transform doesn't work as excepted?

本文关键字:不起作用 原始 JSON 转换 余烬      更新时间:2023-09-26

我正在使用默认的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;
  }
});

当我尝试创建游戏实例模型并保存它时,POST 数据中的选项属性为"null"(字符串类型)。

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

我在这里错过了什么?

可能需要注册转换:

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);      
  }
});

我希望它有所帮助