В нашем приложении Ember, у меня есть 3 различные модели:Как настроить URL-адрес, который вызывает Ember RESTAdapter?
- организации
- пользователей
- вопросы
Вопросы создаются пользователями, которые принадлежат организации. Оба organizations
и users
имеют массив issues
с кучей идентификаторов проблем, которые относятся к модели issues
. Например, это то, что users
модель выглядит следующим образом:
// app/models/users.js
export default DS.Model.extend({
name: DS.attr('string'),
email: DS.attr('string'),
belongsTo: DS.belongsTo('organizations'),
issues: DS.hasMany('issues')
});
У нас есть два API, чтобы просмотреть список всех вопросов:
GET /users/:userId/issues
- Этот API получает все проблемы, созданные пользователемGET /organizations/:organizationId/issues
- Этот API получает все вопросы, созданные пользователями, которые принадлежат к этой организации
проблема есть, когда я звоню this.store.findAll('issues');
, Ember RESTAdapter звонит GET /issues
по умолчанию. Я не могу понять, как заставить RESTAdapter вызывать любой из вышеперечисленных URL. Я не могу использовать this.store.findRecord('issues', 1);
, потому что это вызывает определенную проблему по ID, например GET /issues/:issueId
. Как я могу заставить RESTAdapter вызывать вышеуказанные URL-адреса без необходимости вручную делать запрос AJAX и вызывать ответ API на Ember Data?
@kristjanreinhold Нет, он просто запускает 'GET/вопросы /: id' где': id' является первым ID в 'issues' массива в модель 'users'. – Nag