2015-03-03 5 views
2

Я следую руководству по началу работы от emberjs, и я нахожусь там, где я могу добавить todos. Моя проблема заключается в том, что, когда я добавляю todo, он имеет значение id null - есть ли практический способ автоматического увеличения этого значения?TodoMVC с ember, id не увеличивается

var TodosController = Ember.ArrayController.extend({ 
actions: { 
    createTodo: function() { 
     var title = this.get('newTitle'); 
     if (!title.trim()) { 
      return; 
     } 

     var todo = this.store.createRecord('todo', { 
      title: title, 
      isCompleted: false 
     }); 

     this.set('newTitle', ''); 

     todo.save(); 
    } 
} 

});

ответ

3

При вызове this.store.createRecord() у вас есть «вариант», чтобы иметь id автогенерируемые (см here) В конечном счете, однако, что ответственность возлагается на adapter. Если ваш адаптер имеет метод generateIdForRecord() - это будет использоваться для создания идентификатора. Так, например, FixtureAdapter реализует этот метод следующим образом (см here):

generateIdForRecord: function(store) { 
    return "fixture-" + counter++; 
} 

уголек-данных использует RestAdapter по умолчанию (см here), так что вам нужно будет добавить метод для id должен быть создан в клиент ...

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