2015-01-30 2 views
1

Очень новое для Ember, быстро спросите пожалуйста: Как сохранить/сохранить изменение атрибута? Есть следующие действия в контроллере:Ember Сохранить изменения к атрибуту

actions: { 

    togOnField: function(){ 

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

} 

Оглядевшись я нашел

this.get('model').save 

В настоящее время, используя этот атрибут сразу же возвращаясь обратно к своему предыдущему состоянию. Означает ли это, что спасение не увенчалось успехом? Работая с API Sails и Postgres DB, оба работают нормально.

И каковы различные варианты того, как я могу сэкономить на этом действии? Большое спасибо.

ответ

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

Спасибо, это почистил мой код много уже. Но все равно не спасет. Поэтому я предполагаю, что это проблема с бэкэнд, и его способность получать запросы на обновление/PUT ... – rjoxford

Смежные вопросы