我将尝试在towerjs中创建一个控件,但在更新操作时出现错误:
TypeError: Property 'id' of object #<Object> is not a function下面是我的动作:
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参数:
Parameters:
{ user:
{ name: 'admin',
email: 'example@domain.com',
password: '21232f297a57a5a743894a0e4a801fc3' },
id: '4faa6c614b2ce49b34000001',
action: 'update',
format: 'html' }更多信息:在显示,编辑,销毁中内置了相同的动作,并且它们正在工作。所有操作都使用相同的_form部分。
发布于 2012-05-10 00:08:39
这段代码:
f @params.id (a, b) => ...等同于:
f(@params.id((a,b) => ...))因此,您尝试将@params.id作为函数调用,并将(error,user) =>函数作为其参数传递给@params.id。我认为您希望将@params.id和(error,user) =>作为两个参数传递给App.user.find,因此请添加逗号:
update: ->
App.User.find @params.id, (error, user) =>
#---------------------^https://stackoverflow.com/questions/10517084
复制相似问题