首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ember.js/Emblem.js未处理错误:没有处理事件“createUser”

Ember.js/Emblem.js未处理错误:没有处理事件“createUser”
EN

Stack Overflow用户
提问于 2013-10-28 21:56:50
回答 3查看 1K关注 0票数 0

我想我可能误解了Ember挂起路由、视图和模板的方式,但是我不知道下面的结果会导致错误:

不明错误:没有处理事件“createUser”。

我的档案如下:

javascripts/router.js.咖啡

代码语言:javascript
复制
App.Router.map ->
  @resource 'account', ->
    @route 'index', path: '/'

routes脚本/路由/帐户_router.js.咖啡

代码语言:javascript
复制
App.AccountRoutes = Ember.Route.extend
  model: -> App.User.find()

javascripts/controllers/account_controller.js.coffee

代码语言:javascript
复制
App.AccountController = Ember.ObjectController.extend
  createUser: ->
    App.User.createRecord
      field1: @get('field1')
      / etc

javascripts/views/account_view.js.咖啡

代码语言:javascript
复制
App.AccountView = Ember.View.extend
  templateName: 'account'

javascripts/模板/帐户/索引.徽标

代码语言:javascript
复制
form.form submit="createUser"
  / fields
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-29 03:59:42

我不是一个棺材兄弟,但是在你的路线声明中有一个错误:路线应该是路线

你说:

代码语言:javascript
复制
App.AccountRoutes = Ember.Route.extend
  model: -> App.User.find()

应:

代码语言:javascript
复制
App.AccountRoute = Ember.Route.extend
 model: -> App.User.find()

如果您试图访问帐户资源的索引路由,您不必在路由器中显式地定义它,它就在那里。因此,您可以使用AccountIndexController、AccountIndexRoute和account/index模板来访问它。

票数 1
EN

Stack Overflow用户

发布于 2013-10-29 12:34:40

我认为您错过了actions哈希。

模板内部的操作如下:

代码语言:javascript
复制
<script type="text/x-handlebars" id="foo">
  <div {{action "doFoo"}}>Click here</div>
</script>

需要出现在相应的控制器或路由中,在操作对象的内部:

代码语言:javascript
复制
App.FooController = Ember.ObjectController.extend({
  actions: {
    doFoo: function() {
      alert('Foo');
    }
    // ... more actions here
  }
});

就您的情况而言,我认为您需要更新以下内容:

代码语言:javascript
复制
App.AccountController = Ember.ObjectController.extend
  actions:
    createUser: ->
      App.User.createRecord
        field1: @get('field1')
票数 3
EN

Stack Overflow用户

发布于 2013-10-28 22:11:00

Coffeescript对缩进非常敏感,并且可能误解了您的控制器。试试这个:

代码语言:javascript
复制
App.AccountController = Ember.ObjectController.extend   
  createUser: ->
    App.User.createRecord
      field1: @get('field1')
      / etc
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19645812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档