繁体   English   中英

Ember.js中的另一个动态细分问题

[英]Another Dynamic Segments issue in Ember.js

我的角色资源上有一个嵌套的资产资源。 我已经阅读了所有SO,我应该能够使用this.modelFor来获取关联的父模型,但是当我使用它时,我的结果是不确定的。 我要去哪里错了?

models / character.js

export default DS.Model.extend({
  assets: DS.hasMany('asset', { async: true }),
  ...
});

模型/asset.js

export default DS.Model.extend({
  character: DS.belongsTo('character', { async: true }),
  ...
});

router.js

Router.map(function() {
  this.resource('characters', function () {
    this.route('show', { path: '/:character_id'} , function() {
      this.resource('assets', function() {

      });
    });
  });
  ...
});

路线/字符/show.js

export default Ember.Route.extend({
  model: function(params) {
    return this.store.find('character', params.character_id);
  }
});

路线/资产/index.js

export default Ember.Route.extend({
  model: function() {
    return this.modelFor('character').get('assets');
  }
});

模板/字符/show.hbs

<div class="row">
  <h2>{{name}}</h2>
  {{#link-to 'assets' this}}Assets{{/link-to}}
</div>

由于this.modelFor('character')返回未定义:

Error while processing route: assets.index Cannot read property 'get' of undefined TypeError: Cannot read property 'get' of undefined

我的路线符合我的期望,为我提供了/ chararcters /:charater_id:/ assets路线:

在此处输入图片说明

您只能获取具有模型的路线的模型。 在您的路线布局中,只有character.show路线实际上具有模型。 这就是您应该尝试从中获取模型的路线

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM