emberjs new-router-V3/controller не может создавать или редактировать запись с помощью ember-data

В этом jsfiddle у меня есть EmBlog.PostsNewRoute и EmBlog.PostsEditRoute. Маршруты содержат события для «сохранения, отмены и уничтожения».

Когда я создаю новую запись, она создает ее только в памяти и никогда не вызывает store.commit(), а в консоли выдает ошибку:

Uncaught TypeError: Не удается вызвать метод фиксации неопределенного

При попытке редактирования выдает ту же ошибку, но потом редактирование все равно происходит только в памяти.

Действие уничтожения также не выполняется.

Когда я вызываю отмену, я получаю:

Невозможно прочитать свойство defaultTransaction неопределенного

Большая часть кода находится в jsfiddle. События сохранения и отмены следуют шаблону, описанному Йегуда здесь< /сильный>:

    App.NewUserRoute = Ember.Route.extend({
      model: function() {
         return App.User.createRecord();
      },

     events: {
         save: function(user) {
          this.get('store').commit();
         }
     }
   });

Спасибо


person brg    schedule 21.01.2013    source источник


Ответы (1)


Обновлена ​​скрипта! теперь он работает для создания, редактирования и уничтожения вариантов использования. Подробнее о том, что я изменил, смотрите ниже...

Когда я создаю новую запись, она создает ее только в памяти и никогда не вызывает store.commit(), а в консоли выдает ошибку: Uncaught TypeError: Cannot call method 'commit' of undefined

исходное PostNewRoute не удалось, потому что this.store не определен. Также this.content было бы неопределенным.

save: function(post) {
  this.store.commit();
  this.content.addObserver('id', this, 'afterSave');
 },

Обновленная версия вызывает фиксацию транзакции публикации. Также используется обратный вызов post.one для перехода после создания записи.

 save: function(post) {
   post.one('didCreate', this, function(){
     this.transitionTo('posts.show', post);
   });
   post.get('transaction').commit();
 },

Обновлю позже с подробностями о других обновлениях...

При попытке редактирования выдает ту же ошибку, но потом редактирование все равно происходит только в памяти.

Действие уничтожения также не выполняется.

Когда я вызываю отмену, я получаю: Невозможно прочитать свойство 'defaultTransaction' неопределенного

person Mike Grassotti    schedule 21.01.2013