2016-07-07 2 views
0

Я новичок в Ember. Я использовал последнюю версию 2.6.2. Я боролся с маршрутом. Когда я перехожу на страницу контактов, я получил ошибку, подобную этой ошибке Ошибка: нет маршрута с именем contact.Ember, нет маршрута с именем contact error

Мои приложения/route.js

Router.map(function() { 
    this.route('contacts', function() { 
    this.route('show', { path: '/:contact_id' }); 
    }); 
}); 

Мои приложения/маршруты/контакты/index.js

export default Ember.Route.extend({ 
    model: function() { 
    return this.store.findAll('contact'); 
    } 
}); 

Мои приложения/шаблоны/контакты/index.hbs

<ul> 
    {{#each model as |contact|}} 
    <li> 
     {{#link-to 'contact' contact}} 
     {{contact.lastName}}, 
     {{contact.firstName}} 
     {{/link-to}} 
    </li> 
    {{else}} 
    <li>No contacts found.</li> 
    {{/each}} 
</ul> 

Мое приложение/модели/contact.js

import DS from 'ember-data'; 

export default DS.Model.extend({ 
    firstName: DS.attr('string'), 
    lastName: DS.attr('string'), 
    email: DS.attr('string'), 
    title: DS.attr('string'), 
    createdAt: DS.attr('date'), 
    updatedAt: DS.attr('date') 
}); 

Спасибо за помощь.

ответ

2

Вы получите эту ошибку, если link-to ссылается на маршрут, который не найден на ваших маршрутах.

У вас есть две названные маршруты в router.js 1. contacts 2. contacts.show

Поменяйте свой файл app/templates/contacts/index.hbs.

<ul> 
    {{#each model as |contact|}} 
    <li> 
     {{#link-to 'contacts.show' contact}} 
     {{contact.lastName}}, 
     {{contact.firstName}} 
     {{/link-to}} 
    </li> 
    {{else}} 
    <li>No contacts found.</li> 
    {{/each}} 
</ul>