2014-10-08 2 views
1

В настоящее время я создаю приложение ember с использованием Yeoman Ember Generator.this.resource, отображающий пустую страницу, но возвращающий модель (с помощью console.log())

это моя структура папок шаблон выглядит следующим образом:

template 
    |---requisitions 
      |---draft.hbs 
      |---pending.hbs 
      |---waiting.hbs 
    requisitions.hbs 
    app.hbs 
    application.hbs 

это мой router.js

Metabuyer.Router.map(function() { 
    this.route('app'); 
    this.resource('requisitions', function(){ 
     this.resource('draft'); 
     this.resource('pending'); 
     this.resource('waiting'); 
    }); 
}); 

в моем DS.Store, у меня есть реквизиции модель, которая работает просто отлично.

Metabuyer.RequisitionsRoute = Ember.Route.extend({ 
    model: function() { 
     return this.store.findAll('requisition'); 
    } 
}); 

Проект, в ожидании и ждет общий доступ ROUTE ту же модель реквизиции, но фильтровать его на основе их потребностей, как ниже

Metabuyer.DraftRoute = Ember.Route.extend({ 
model: function(params){ 
    var filterResult = this.store.filter('requisition', function(requisition){ 
     return requisition.get('state') === 'draft'; 
    }); 
    console.log(test); 

    return filterResult; 
    }); 
} 

});

Моя проблема есть. Когда я использую this.resource('draft'), в моем маршрутизаторе ничего не отображается на моей странице (пустая страница), но в моей консоли отфильтрованные объекты возвращаются.

если я использовал this.route('draft') страница отображается, но содержимое страницы не фильтруется, или я должен сказать, что мой Metabuyer.DraftRoute не вызывается.

Большое вам спасибо за вашу помощь,: '(

ответ

3

http://emberjs.com/guides/routing/defining-your-routes/

Маршруты вложен в качестве ресурса взять имя ресурса плюс свое имя в качестве своего имени маршрута

.

Индексный маршрут также необходим для исходных маршрутов.

Таким образом, навигационная система до /requistions загружает RequesitionsRoute и RequisitionsIndexRoute вам необходимо установить модель на RequisitionsIndexRoute и использовать RequisitionsIndexController и т. Д. Вам нужно будет переименовать requisitions.hbs в index.hbs и переместить его в каталог заявок.

Кроме того, необходимо префикс ваш проект маршрута имя объекта с родителем так DraftRoute становится RequisitionsDraftRoute и то же самое для контроллеров, мнения и т.д.

+0

Большое спасибо !! :) Я так напряг весь день, глядя на свой код. должны были внимательно прочитать руководства. – Sukhito

Смежные вопросы