Я пытаюсь разработать приложение с помощью адаптера Fixture с Ember-Data.Как получить доступ к generateIdForRecord в Ember-Data?
Когда я пытаюсь создать новый объект (на основе модели, которую я определил), это не сработает, если я не укажу идентификатор.
Если я указать идентификатор и сделать это:
var person = SD.Person.createRecord({
id: 234,
name: "test"
});
var person.save();
я получаю:
Error: assertion failed: An adapter cannot assign a new id to a record that already has an id. had id: 234 and you tried to update it with 234. This likely happened because your server returned data in response to a find or update that had a different id than the one you sent.
Что делает это звучит как-то я обновляю существующую запись (я нет, есть только 2 светильника для объекта Person с идентификаторами 1 и 2 соответственно).
Является ли Ember попыткой сохранить мой объект дважды?
Я думал, что, возможно, мне нужно будет использовать generateIdForRecord, чтобы установить ID, но я не могу ссылаться на эту функцию независимо от того, что я пытаюсь.
newBooking.set('id', this.store.generateIdForRecord(this.store, newBooking));
newBooking.set('id', DS.generateIdForRecord(this.store, newBooking));
newBooking.set('id', this.generateIdForRecord(this.store, newBooking));
newBooking.set('id', generateIdForRecord(this.store, newBooking));
TypeError: this.store.generateIdForRecord is not a function
Я использую последние выпуски Эмбер и Эмбер-Data (попробовал предыдущие выпуски тоже). Моя модель не имеет никакого отношения к учебнику TodoMVC в руководствах Ember, и в учебнике ничего не нужно делать, чтобы управлять идентификаторами с адаптером Fixture, поэтому я действительно не знаю, что происходит.
Как создать новый объект Person (как в моем примере, только одно поле «имя» и сохраняется его с помощью адаптера арматуры Ember-Data без вышеуказанных ошибок?
Что такое 'SD' для пространства имен? – intuitivepixel
@in tuitivepixel - я создал свое приложение на SD. Я собирался опубликовать обновление по этому вопросу, но мой первый фрагмент кода фактически работает. По какой-то причине я просто ожидал увидеть это как событие в консоли. В конце концов, объект создавался. – Anonymous