Ruby on rails 在Ember中创建新路线视图的问题
我一直遵循Vic Ramon的Ember教程(我是新来的),并且我能够成功地创建CRUD界面,该界面可以回溯到1 postgres表。 我想扩展本教程,通过rails使用2个不同的postgres表。这是路由器(名称很好用,状态不好): 控制器:Ruby on rails 在Ember中创建新路线视图的问题,ruby-on-rails,postgresql,ember.js,Ruby On Rails,Postgresql,Ember.js,我一直遵循Vic Ramon的Ember教程(我是新来的),并且我能够成功地创建CRUD界面,该界面可以回溯到1 postgres表。 我想扩展本教程,通过rails使用2个不同的postgres表。这是路由器(名称很好用,状态不好): 控制器: App.StatesController = Ember.ArrayController.extend 路线: App.StatesRoute = Ember.Route.extend model: -> @store.find 'st
App.StatesController = Ember.ArrayController.extend
路线:
App.StatesRoute = Ember.Route.extend
model: -> @store.find 'state'
型号:
App.State = DS.Model.extend
calc_num: DS.attr 'number'
energy_list: DS.attr 'string'
dos_list: DS.attr 'string'
atom_subset: DS.attr 'string'
orbital_subset: DS.attr 'number'
fermi_level: DS.attr 'number'
core_level: DS.attr 'number'
elec_occ_list: DS.attr 'string'
elec_energy_list: DS.attr 'string'
模板:
article#states
h1 DOS States
ul
each state in controller
link-to 'state' state tagName="li"
state.calc_num
当我运行该网站时,出现以下错误:
> Error while loading route: TypeError: undefined is not a function
> at instantiate (http://lh:3000/assets/ember.js?body=1:11474:26)
> at lookup (http://lh:3000/assets/ember.js?body=1:11340:19)
> at Object.Container.lookup (http://lh:3000/assets/ember.js?body=1:11019:16)
> at Ember.Route.Ember.Object.extend.controllerFor (http://lh:3000/assets/ember.js?body=1:36763:28)
> at Ember.Route.Ember.Object.extend.setup (http://lh:3000/assets/ember.js?body=1:36302:27)
> at handlerEnteredOrUpdated (http://lh:3000/assets/ember.js?body=1:33569:36)
> at http://lh:3000/assets/ember.js?body=1:33538:18
> at forEach (http://lh:3000/assets/ember.js?body=1:34579:54)
> at setupContexts (http://lh:3000/assets/ember.js?body=1:33537:9)
> at finalizeTransition (http://lh:3000/assets/ember.js?body=1:33711:9)
你认为发生了什么事?我可以在余烬检查器中看出,数据似乎是为州加载的。非常感谢 Matthew Blancarte对此给出了解决方案,但诀窍是在声明控制器后始终添加括号,即使在coffeescript中也是为了安全
App.StatesController = Ember.ArrayController.extend({})
您可能需要使用括号来调用控制器扩展,例如:
App.StatesController=Ember.ArrayController.extend({})
略过您的问题后,只需猜测一下。您太棒了,就是这样!奇怪的是,他们没有让我对我在教程中添加的第一个表执行此操作,但我仍然可以获得显示的数据。很高兴知道我应该总是在上面加上括号。谢谢
App.StatesController = Ember.ArrayController.extend({})