Ember .save()仅保存一个属性

时间:2015-06-17 13:52:32

标签: ember.js ember-data ember-cli

我正在尝试在Ember中创建并保存模型,但只有我表单中的第一个条目正在保存而其他条目空白。

在保存所有模型属性之前是正确的。 (以日志显示)

任何帮助都非常感谢!

我的模特是:

import DS from 'ember-data';

export default DS.Model.extend({
  endpoint: DS.attr('string'),
  playerVersion: DS.attr('string'),
  createdAt: DS.attr('date'),
  updatedAt: DS.attr('date')
});

我的路线是:

import Ember from 'ember';

export default Ember.Route.extend({
    model: function() {
        return this.store.createRecord('account');
    }
});

我的控制器是:

    import Ember from 'ember';

    export default Ember.Controller.extend({
        actions: {
            save: function() {
                    var _this = this;
                    var model = this.get('model');

                    console.log(model.get('endpoint')); //Shows correct endpoint
                    console.log(model.get('playerVersion')); //Shows correct playerVersion

                    model.save().then(function(account) {

                        console.log(model.get('endpoint')); //Shows correct endpoint
                        console.log(model.get('playerVersion')); //Shows nothing

                        _this.transitionToRoute('accounts.index');
                    });
                return false;
            }
        }
    });

1 个答案:

答案 0 :(得分:0)

更新 - 需要在自定义序列化程序上进行一些设置。

export default JsonApiSerializer.extend({
    keyForAttribute: function(key) {
        //return Ember.String.dasherize(key);
        return Ember.String.camelize(key);
    },
    keyForRelationship: function(key) {
        //return Ember.String.dasherize(key);
        return Ember.String.camelize(key);
    },
    keyForSnapshot: function(snapshot) {
        //return Ember.String.dasherize(snapshot.typeKey);
        return Ember.String.camelize(snapshot.typeKey);
    },
});