灰烬保存对属性的更改

时间:2015-01-30 18:52:17

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

Ember非常新,请快速提问:如何保存/保留对属性的更改?在控制器中执行以下操作:

actions: {

    togOnField: function(){

        if (this.get('onField')){
            this.set('onField', false);
        } else {
            this.set('onField', true);
        }
    }

}

环顾四周我找到了

this.get('model').save

目前,使用此属性,该属性立即恢复到以前的状态。这是否意味着保存不成功?使用Sails API和Postgres DB,两者似乎都运行正常。

我可以从这个行动中拯救出来的不同选择有哪些?非常感谢。

1 个答案:

答案 0 :(得分:0)

该控制器中的

this指的是控制器,可能不是您期望的模型。你可以做的一件事就是将模型传递给行动。

在您的模板中

<button {{action 'toggleOnField' user}}>Toggle on field</button>

然后行动变为

actions: {
  toggleOnField: function(user) {
    user.toggleProperty('onField').save().then(function() {
      // do something
    }, function(reason) {
      // handle error
    });
  }
}