【问题标题】:Ember raw JSON transform doesn't work as excepted?Ember 原始 JSON 转换无法正常工作?
【发布时间】:2013-11-06 20:29:52
【问题描述】:

我将默认 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()
)

我在这里错过了什么?

【问题讨论】:

  • 在执行 game.save() 之前,您确定设置了属性“options”吗?

标签: javascript ember.js ember-data


【解决方案1】:

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

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-09-07
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多