Javascript 余烬错误:断言失败:`id`传递给`findRecord()`必须是非空字符串或数字

Javascript 余烬错误:断言失败:`id`传递给`findRecord()`必须是非空字符串或数字,javascript,ember.js,Javascript,Ember.js,Router.js Router.map(function() { this.route('artists', function() { this.route('artist', {path: ':id'}, function() { this.route('songs'); }); }); }); export default Ember.Route.extend({ model(){ return this.store.findA

Router.js

Router.map(function() {
  this.route('artists', function() {
    this.route('artist', {path: ':id'}, function() {
      this.route('songs');
    });
  });
});
export default Ember.Route.extend({
    model(){
        return this.store.findAll('artist');
    }
});
export default Ember.Route.extend({
    model(params){
        console.log(params.id);  //printed a valid id (-KP_nH0EMk3zYqhiWJZ1)
        return this.store.findRecord(params.id);
    }
});
{{#each model as |artist|}}
    <li class="list-group-item"> {{#link-to 'artists.artist.songs' artist}} {{artist.name}} {{/link-to}}</li>
{{/each}}
export default Ember.Route.extend({
    model(params){
        console.log(params.id);  //printed a valid id (-KP_nH0EMk3zYqhiWJZ1)
        return this.store.findRecord('artist',params.id);
    }
});
routes/artists.js

Router.map(function() {
  this.route('artists', function() {
    this.route('artist', {path: ':id'}, function() {
      this.route('songs');
    });
  });
});
export default Ember.Route.extend({
    model(){
        return this.store.findAll('artist');
    }
});
export default Ember.Route.extend({
    model(params){
        console.log(params.id);  //printed a valid id (-KP_nH0EMk3zYqhiWJZ1)
        return this.store.findRecord(params.id);
    }
});
{{#each model as |artist|}}
    <li class="list-group-item"> {{#link-to 'artists.artist.songs' artist}} {{artist.name}} {{/link-to}}</li>
{{/each}}
export default Ember.Route.extend({
    model(params){
        console.log(params.id);  //printed a valid id (-KP_nH0EMk3zYqhiWJZ1)
        return this.store.findRecord('artist',params.id);
    }
});
路由/artists/artist.js

Router.map(function() {
  this.route('artists', function() {
    this.route('artist', {path: ':id'}, function() {
      this.route('songs');
    });
  });
});
export default Ember.Route.extend({
    model(){
        return this.store.findAll('artist');
    }
});
export default Ember.Route.extend({
    model(params){
        console.log(params.id);  //printed a valid id (-KP_nH0EMk3zYqhiWJZ1)
        return this.store.findRecord(params.id);
    }
});
{{#each model as |artist|}}
    <li class="list-group-item"> {{#link-to 'artists.artist.songs' artist}} {{artist.name}} {{/link-to}}</li>
{{/each}}
export default Ember.Route.extend({
    model(params){
        console.log(params.id);  //printed a valid id (-KP_nH0EMk3zYqhiWJZ1)
        return this.store.findRecord('artist',params.id);
    }
});
模板/艺术家.hbs

Router.map(function() {
  this.route('artists', function() {
    this.route('artist', {path: ':id'}, function() {
      this.route('songs');
    });
  });
});
export default Ember.Route.extend({
    model(){
        return this.store.findAll('artist');
    }
});
export default Ember.Route.extend({
    model(params){
        console.log(params.id);  //printed a valid id (-KP_nH0EMk3zYqhiWJZ1)
        return this.store.findRecord(params.id);
    }
});
{{#each model as |artist|}}
    <li class="list-group-item"> {{#link-to 'artists.artist.songs' artist}} {{artist.name}} {{/link-to}}</li>
{{/each}}
export default Ember.Route.extend({
    model(params){
        console.log(params.id);  //printed a valid id (-KP_nH0EMk3zYqhiWJZ1)
        return this.store.findRecord('artist',params.id);
    }
});

当导航到“艺术家/{id}”和“艺术家/{id}/歌曲”时,我遇到了这个错误。我尝试在艺术家/艺术家路线中打印params.id。我可以在控制台中看到有效的id。有人能猜出可能的错误是什么吗?findRecord需要两个强制参数
modelName
id
,在您缺少型号名称的情况下

路由/artists/artist.js

Router.map(function() {
  this.route('artists', function() {
    this.route('artist', {path: ':id'}, function() {
      this.route('songs');
    });
  });
});
export default Ember.Route.extend({
    model(){
        return this.store.findAll('artist');
    }
});
export default Ember.Route.extend({
    model(params){
        console.log(params.id);  //printed a valid id (-KP_nH0EMk3zYqhiWJZ1)
        return this.store.findRecord(params.id);
    }
});
{{#each model as |artist|}}
    <li class="list-group-item"> {{#link-to 'artists.artist.songs' artist}} {{artist.name}} {{/link-to}}</li>
{{/each}}
export default Ember.Route.extend({
    model(params){
        console.log(params.id);  //printed a valid id (-KP_nH0EMk3zYqhiWJZ1)
        return this.store.findRecord('artist',params.id);
    }
});

参考:

在艺术家路线中,尝试此.store.findRecord('artist',params.id)