3

ActiveModelAdapter でデフォルトの RESTAdapter を使用しており、特定のモデルに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 に答える