0

Emberjs.com (http://emberjs.com/guides/outlets/) の「アウトレット」ガイドに従った後、投稿 (子/単数) テンプレートで投稿のタイトルと本文を表示できません。これに遭遇した人はいますか?概要は次のとおりです。

# PostsTemplate
{{#each post in controller}}
  <h1><a {{action showPost post href=true}}>{{post.title}}</a></h1>
  <div>{{post.body}}</div>   <------ title and body show up correctly here
{{/each}}

# PostTemplate
<h1>{{title}}</h1>  <---- but title and body are EMPTY here  
<div class="body">
  {{body}}
</div>
{{outlet}}

# Router
App.Router = Ember.Router.extend({
  root: Ember.Route.extend({
    index: Ember.Route.extend({
      route: '/',
      redirectsTo: 'posts'
    }),
    posts: Ember.Route.extend({
      route: '/posts',
      showPost: Ember.Route.transitionTo('post'),
      connectOutlets: function(router) {
        router.get('applicationController').connectOutlet('posts', App.Post.find());
      }
    }),
    post: Ember.Route.extend({
      route: '/posts/:post_id',
      connectOutlets: function(router, post) {
        console.log(post);    <------------------ This tells me the post has the write attributes.
        router.get('applicationController').connectOutlet('post', post); #This post does not show up in PostTemplate above!
      }
     })
 });

console.log(post) を実行して投稿を調べると、次のような内容が表示されます。

Class = {
 id: "1",
 _data:
  { 
    attributes:
    {
      body: "a",
      title: "a" 
    }
  },
  title: null,
  body: null
 }

タイトルや本文の属性がビューに表示されない理由について、誰か考えはありますか?

ps Post モデルは、Rails アプリケーションから ID 1 の Post を正しく取得する Ember データ モデルです。

4

1 に答える 1

1

Post モデルは postController のコンテンツに設定する必要があるため、{{content.title}} と {{content.body}} を使用できると思います。ビュー内でこれをデバッグする簡単な方法は、アイテムがモデルのタイプ (App.Post など) をレンダリングするビューに {{content}} を配置することです。

于 2012-12-03T13:14:08.240 に答える