0

シンプルなメッセージング アプリのデータ構造は次のとおりです。

App.Message = DS.Model.extend({
  title: DS.attr("string"),
  body: DS.attr("string"),
  isRead: DS.attr("boolean"),
  replyTo: DS.belongsTo("App.Message")
});

App.Message.FIXTURES = [{
  id: "1",
  title: "Eos ut amet persius, ea ius nibh iudico",
  body: "Lorem ipsum dolor sit amet, nam et hinc doctus alienum, in vel latine conceptam.",
  isRead: true,
  replyTo: null
},
{
  id: "2",
  title: "Ad est dolor veniam delenit.",
  body: "Lorem ipsum dolor sit amet, nam et hinc doctus alienum, in vel latine conceptam.",
  isRead: false,
  replyTo: "1"
},
{
  id: "3",
  title: "Eu nec summo placerat reprehendunt.",
  body: "Lorem ipsum dolor sit amet, nam et hinc doctus alienum, in vel latine conceptam. Tale eirmod omittantur sit ne. Minim noster philosophia per eu, mel putent veritus an, ex veniam ubique consulatu has. At stet diceret repudiare ius, probo liber diceret no est. Ridens efficiantur vim te.",
  isRead: false,
  replyTo: "1"
}];

メッセージが選択されているときにメッセージへの返信を表示しようとしていますが、何も表示されません。 メッセージの件名と本文正常に表示されているため、ルート、コントローラー、およびテンプレートが少なくとも親エンティティに対して正しく設定されていることがわかります。

これが私のテンプレートです(簡潔にするためにほとんどすべてのマークアップを削除しています):

<script type="text/x-handlebars" data-template-name="message">      
  <h2>{{ title }}</h2>        
  <p>{{ body }}</p>
  {{ render "messageResponses" responses }}
</script>

<script type="text/x-handlebars" data-template-name="messageResponses">
  {{#each responses}}
    <p>{{ body }}</p>
  {{/each}}
</script>

そして、私の Message コントローラー (おそらく間違っている部分):

App.MessageController = Ember.ObjectController.extend({
  responses: function() {
    return App.Message.find({ replyTo: this.get("id") );  
  }
});
4

1 に答える 1

1

findProperty代わりに試してください:

App.MessageController = Ember.ObjectController.extend({
  responses: function() {
    return App.Message.findProperty('replyTo', this.get("id"));  
  }
});
于 2013-02-14T23:55:13.703 に答える