首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >towerjs控制器中的操作更新不起作用

towerjs控制器中的操作更新不起作用
EN

Stack Overflow用户
提问于 2012-05-09 21:25:32
回答 1查看 120关注 0票数 0

我将尝试在towerjs中创建一个控件,但在更新操作时出现错误:

代码语言:javascript
复制
TypeError: Property 'id' of object #<Object> is not a function

下面是我的动作:

代码语言:javascript
复制
update: ->
  App.User.find @params.id (error, user) =>
    user.updateAttributes @params.user, (error) =>
      if error
        @render "edit", locals: user: user
      else
        @render "show", locals: user: user 

控制台向我显示传递了id参数:

代码语言:javascript
复制
Parameters:
{ user: 
  { name: 'admin',
    email: 'example@domain.com',
    password: '21232f297a57a5a743894a0e4a801fc3' },
  id: '4faa6c614b2ce49b34000001',
  action: 'update',
  format: 'html' }

更多信息:在显示,编辑,销毁中内置了相同的动作,并且它们正在工作。所有操作都使用相同的_form部分。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-10 00:08:39

这段代码:

代码语言:javascript
复制
f @params.id (a, b) => ...

等同于:

代码语言:javascript
复制
f(@params.id((a,b) => ...))

因此,您尝试将@params.id作为函数调用,并将(error,user) =>函数作为其参数传递给@params.id。我认为您希望将@params.id(error,user) =>作为两个参数传递给App.user.find,因此请添加逗号:

代码语言:javascript
复制
update: ->
  App.User.find @params.id, (error, user) =>
    #---------------------^
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10517084

复制
相关文章

相似问题

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