余烬错误 - 加载路由时出现“调用堆栈大小超出范围错误”

Ember error - "Call stack size exceeded range error" when loading a route

本文关键字:错误 堆栈 范围 调用 加载 路由 余烬      更新时间:2023-09-26

我正在Ember中构建一个使用rails作为后端的应用程序。

每当我尝试导航到顾问显示路由时,我都会收到错误,余烬会抛出"调用堆栈大小超出范围错误"。我已经使用下面相同类型的方法成功构建了应用程序的其他部分,但由于某种原因,导航到 show 路线会抛出这种错误。

我不确定问题出在哪里或发生了什么。谢谢。

这是在 chrome 控制台中记录的错误。

Error while loading route: consultant.show Maximum call stack size exceeded RangeError: Maximum call stack size exceeded
at apply (http://localhost:3000/assets/ember.js?body=1:7980:27)
at superWrapper [as renderTemplate] (http://localhost:3000/assets/ember.js?body=1:7567:15)
at Embermaven.ConsultantShowRoute.Ember.Route.extend.renderTemplate (http://localhost:3000/assets/emberadmin/routes/consultants_route.js?body=1:24:10)
at apply (http://localhost:3000/assets/ember.js?body=1:7980:27)
at superWrapper [as renderTemplate] (http://localhost:3000/assets/ember.js?body=1:7567:15)
at Embermaven.ConsultantShowRoute.Ember.Route.extend.renderTemplate (http://localhost:3000/assets/emberadmin/routes/consultants_route.js?body=1:24:10)
at apply (http://localhost:3000/assets/ember.js?body=1:7980:27)
at superWrapper [as renderTemplate] (http://localhost:3000/assets/ember.js?body=1:7567:15)
at Embermaven.ConsultantShowRoute.Ember.Route.extend.renderTemplate (http://localhost:3000/assets/emberadmin/routes/consultants_route.js?body=1:24:10)
at apply (http://localhost:3000/assets/ember.js?body=1:7980:27) 

这是我的路线的样子。

Embermaven.ConsultantShowRoute = Ember.Route.extend({
  model: function(params){
   return this.store.find('consultant, params.consultant_id');
  },
  renderTemplate: function() {
   this.renderTemplate('emberadmin/consultant/show');
  },
  serialize: function(model){
   return { consultant_id: model.get('id') };
  }
});

还有我的路由器.js文件。

  this.resource('consultants', function(){});
  this.route('consultants.new', {path: '/consultants/new'});
  this.route('consultant.show', {path: '/consultant/:consultant_id'});
  this.route('consultant.edit', {path: '/consultant/:consultant_id/edit'});

关系,我想通了。

我使用的是 renderTemplate 而不是 this.render。

当 ember 不知道要呈现哪个应用程序模板时,就会发生冲突。