1

マイコード - JSbin

リソースを追加したかった (例sites/5/posts/-> posts は追加した新しいリソースです)。

WebApp.Router.map(function () {
    this.resource('sites', { path: '/' } , function() {
        this.resource('site', { path: '/sites/:site_id'} ,  function() {
            this.resource('posts', { path: 'posts'

            }); //posts

        }); //sites/id 

        this.route('new', {path: 'new'});

    });

});

私のテンプレート:

<script type="text/x-handlebars" data-template-name="sites">
<ul>
    {{#each site in controller}}
    <li>
        {{#linkTo 'site' this}} {{site.siteName}} {{/linkTo}}
        {{#linkTo 'posts'}} > {{/linkTo}}
    </li>
    {{/each}}

</ul>
{{#linkTo 'sites.new'}} ADD NEW WEBSITE {{/linkTo}}

{{outlet}}

各リスト項目に、 を指すリンクが必要sites/:site_id/posts/です。{{#linkTo 'posts'}} > {{/linkTo}}テンプレート に行を追加すると、次のエラーが発生します。Assertion failed: Cannot call get with 'id' on an undefined object.

私は何を間違えましたか?

4

1 に答える 1