У меня есть объект сеанса верхнего уровня, который может содержать много динамиков.
Моя конечная точка REST ish позволяет мне делать все сессии таким образом
/сессии/
Я могу получить все колонки для заданного сеанса, например:
/сессий/1/колонки/
С текущей версией данных ember-данных я вижу, что он пытается найти все динамики с этим URL
/колонки/
Использование модели данных ниже
CodeCamp.Session = DS.Model.extend({
id: DS.attr('number'),
name: DS.attr('string'),
speakers: DS.hasMany('CodeCamp.Speaker',{nested: true})
});
CodeCamp.Speaker = DS.Model.extend({
id: DS.attr('number'),
name: DS.attr('string'),
session: DS.belongsTo('CodeCamp.Session',{nested: true})
});
Я добавил часть "вложенная: истинная", потому что мне нужны данные ember-data для создания требуемого
/sessions/% @/speakers/
Но этого не произошло -
Я знаю, что могу вручную определить URL-адрес
CodeCamp.Speaker.reopenClass({
url: 'sessions/%@/speakers/'
});
Но при этом мне нужно будет свернуть собственный метод "buildURL" в базовом адаптере REST, чтобы он выглядел так же, как и этот, и при необходимости добавляет родительский идентификатор (и я бы не сделал этого, если это было возможно)
Имеют ли данные ember-данные что-то подобное из коробки или я буду вынужден написать много кода самостоятельно?