2016-07-07 8 views
0

という名前のルート私はエンバーに初心者だはありません。最新バージョン2.6.2を使用しました。私は道に苦しんでいた。連絡先ページに行くと、私はこのようなエラーが出るエラー:連絡先という名前のルートがありません。エンバーは、接触不良

マイアプリ/ 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は、あなたのルートに見つからないルートにリンクされている場合は、そのエラーを取得します。

あなたのapp/templates/contacts/index.hbsファイルを変更

router.js 1. contacts 2. contacts.show

で2つの名前付きルートを持っています。

<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> 
関連する問題