【问题标题】:Ember.js has_many not being loaded on deep nested routesEmber.js has_many 未在深层嵌套路由上加载
【发布时间】:2016-03-13 07:21:33
【问题描述】:

鉴于我当前的路由器:

  1. 帖子
    • 创建
  2. 发布
    • 编辑
    • 评论
      1. 创建
    • 评论
      1. 内部评论
        • 创建
      2. 内部评论
        • 索引 (post.comment.innerComment.index)

Ember.js 不会从后端加载任何现有的 innerComments,但它在创建和保存它们方面做得非常好,如下图所示:

我不仅能够创建内部 cmets,而且只要不重新加载页面,我也能够成功编辑它们……这种独特的行为告诉我,问题似乎相当具体,但我就是找不到。下面的代码 sn-ps 总结了事情是如何按顺序加载的,但您也可以查看 Source Code 和这两个使用 Ember Inspector 的屏幕截图:

Screenshot 1 - 创建内部评论

Screenshot 2 - 页面刷新。

Post.Index(模型是帖子)

{{render "post.comments.index" model}}

Post.Comments.Index(模型是帖子)

<ol>
    {{#each model.comments as |comment|}}
        <li>{{render "post.comment.index" comment}}</li>
    {{/each}}
</ol>

Post.Comment.Index(模型是评论)

 <!--Comment Text, Comment by x User, edit, etc-->
{{render "post.comment.innerComments.index" model}}

Post.Comment.InnerComments.Index(模型是评论)

<ol>
    {{#each model.inner_comments as |comment|}}
        <li>{{render "post.comment.innerComment.index" comment}}</li>
    {{/each}}
</ol>

Post.Comment.InnerComments.Index(模型是一个innerComment)

 <!--InnerComment Text, InnerComment by x User, edit, etc-->
{{model.text}}

【问题讨论】:

    标签: ember.js ember-data


    【解决方案1】:

    序列化has_many :inner_comments 上缺少的一行是罪魁祸首,因为它在合并两个本地分支之间丢失。

    如果您有类似的问题,请检查网络事务的开发人员工具。如果您的 XHR 请求之一缺少预期的返回负载(在我的情况下,每个评论请求的 inner_cmets),那么问题出在您的后端...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-16
      • 1970-01-01
      • 2020-09-22
      • 1970-01-01
      • 2013-11-04
      • 2013-07-20
      • 1970-01-01
      • 2017-05-26
      相关资源
      最近更新 更多