Я новичок в Ember, и я думаю, что я откусил больше, чем я могу пережевывать это приложение для практики, но я намерен учиться. Я мог бы быть совершенно концептуально выключен, если так, не стесняйтесь предлагать лучшую структуру для моего варианта использования.Проблема с вложенными ресурсами
My (сокращенно) маршрутизации выглядит более или менее, как это:
Router.map(function() {
this.resource('shops', { path: '/' }, function() {
this.resource('shop', { path: ':shop_id' }, function() {
this.resource('items', { path: 'admin'}, function() {
});
});
});
});
Намерение состоит в том, что пользователь будет выбрать магазин, а затем получить список всех возможных пунктов с флажками, где он может решить, какие доступны в этом магазине, а какие нет. До сих пор я просто пытаюсь отобразить список всех элементов, но он не работает. Однако список магазинов - никаких проблем.
URL:
/
работ.
model
- все магазины.URL:
/1
работ.
model
является магазин с ID 1.URL: items.index Assertion Failed::
/1/admin
Ошибка при обработке маршрута ArrayProxy ожидает массив или Ember.ArrayProxy, но вы прошли объект
Оба shops
и items
контроллеры идентичны:
// app/controllers/shops.js
// app/controllers/items.js
export default Ember.ArrayController.extend({});
Трассы почти идентичны:
// app/routes/shops/index.js
export default Ember.Route.extend({
model: function() {
return this.store.find('shop');
}
});
// app/routes/items/index.js
export default Ember.Route.extend({
model: function() {
return this.store.find('item');
}
});
Контроллер shop
не существует, а shop.index
маршрут тривиальна:
// app/routes/shop/index.js
export default Ember.Route.extend({});
Что это дает?
EDIT:JSBin
Есть ли какая-либо причина, чтобы сохранить элементы в качестве ресурса вместо маршрута – Vaibhav
@Vaibhav: Может быть, нет. Как я уже сказал, новичок. Но поскольку у меня есть элементы в качестве модели, имеет смысл сделать это ресурсом. Если бы я отправился в маршрут (shop.admin), как бы получить список предметов? Нужно ли мне «нужны» элементы «' в контроллере 'shop'? – Amadan
Я думаю, что в этом случае, как мне кажется, в этом случае не требуется требование для массива-конроллера значения должны быть массивами. Я думаю, ваши значения будут поступать как не массив. – Vaibhav