Моя модель определяется следующим образом:Finding запись нестандартного PrimaryKey
App.User = DS.Model.extend({
primaryKey: 'username',
username: DS.attr('string'),
name: DS.attr('string')
});
Моей карта пользовательского адаптера:
DS.SocketAdapter.map('App.User', {
primaryKey: 'username',
username: DS.attr('string'),
});
Я проверяю эту модель путем печатать на консоли:
App.User.createRecord({username:"user_1"});
var r = App.User.find("user_1");
console.log(r.serialize());
>> Object {username: null, name: null ..... all null}
Но он перенастраивает объект «null». Также проверено:
App.User.find({username:"user_1"});
Но это делает удаленный запрос. Я читал, что Ember Data позволяет вам находить записи через атрибуты, отличные от ID.
Итак, что я делаю неправильно в передаче данных Ember мой пользовательский primaryKey?
Спасибо за ответ! Я не могу его заархивировать! Я создал jbin. http://jsbin.com/olizir/3/edit. Вот результат: http://jsbin.com/olizir/3. В моем реальном коде я не реализую метод find() моего адаптера (потому что меня не интересуют удаленные запросы, только поиск записи по ID). Спасибо – Mattia
, вы должны использовать 'FixturesAdapter', потому что' RESTAdapter' предназначен для запросов, поэтому он работает только в том случае, если есть find() и все такие методы, определенные в 'RESTAdapter'. имеет смысл? – intuitivepixel
Обратитесь по этой ссылке: https://github.com/emberjs/data/blob/master/BREAKING_CHANGES.md#revision-12. Что означает, что «Пользовательские сопоставления с боковой загрузкой и **) все еще могут быть настроены для переопределения этих значений по умолчанию»? Что означает ** обозначение клавиш **? Они говорят о первичных ключах? благодаря – Mattia