我想我可能误解了Ember挂起路由、视图和模板的方式,但是我不知道下面的结果会导致错误:
不明错误:没有处理事件“createUser”。
我的档案如下:
javascripts/router.js.咖啡
App.Router.map ->
@resource 'account', ->
@route 'index', path: '/'routes脚本/路由/帐户_router.js.咖啡
App.AccountRoutes = Ember.Route.extend
model: -> App.User.find()javascripts/controllers/account_controller.js.coffee
App.AccountController = Ember.ObjectController.extend
createUser: ->
App.User.createRecord
field1: @get('field1')
/ etcjavascripts/views/account_view.js.咖啡
App.AccountView = Ember.View.extend
templateName: 'account'javascripts/模板/帐户/索引.徽标
form.form submit="createUser"
/ fields发布于 2013-10-29 03:59:42
我不是一个棺材兄弟,但是在你的路线声明中有一个错误:路线应该是路线
你说:
App.AccountRoutes = Ember.Route.extend
model: -> App.User.find()应:
App.AccountRoute = Ember.Route.extend
model: -> App.User.find()如果您试图访问帐户资源的索引路由,您不必在路由器中显式地定义它,它就在那里。因此,您可以使用AccountIndexController、AccountIndexRoute和account/index模板来访问它。
发布于 2013-10-29 12:34:40
我认为您错过了actions哈希。
模板内部的操作如下:
<script type="text/x-handlebars" id="foo">
<div {{action "doFoo"}}>Click here</div>
</script>需要出现在相应的控制器或路由中,在操作对象的内部:
App.FooController = Ember.ObjectController.extend({
actions: {
doFoo: function() {
alert('Foo');
}
// ... more actions here
}
});就您的情况而言,我认为您需要更新以下内容:
App.AccountController = Ember.ObjectController.extend
actions:
createUser: ->
App.User.createRecord
field1: @get('field1')发布于 2013-10-28 22:11:00
Coffeescript对缩进非常敏感,并且可能误解了您的控制器。试试这个:
App.AccountController = Ember.ObjectController.extend
createUser: ->
App.User.createRecord
field1: @get('field1')
/ etchttps://stackoverflow.com/questions/19645812
复制相似问题