寄存器视图由主干呈现。当我提交表单以注册新用户时,我收到了这样的错误。
我知道它会检查电子邮件是否存在。但我不知道为什么我发布了所有属性,但后端似乎没有得到它。
寄存器视图由主干呈现。当我提交表单以注册新用户时,我收到了这样的错误。
我知道它会检查电子邮件是否存在。但我不知道为什么我发布了所有属性,但后端似乎没有得到它。
我猜你的控制器正在寻找params[:user]
用户的信息,但你:user
的params
. 该手册谈到了这一点:
使用 Rails
[...]
同样,Backbone PUT 和 POST 直接使用 JSON 表示模型,默认情况下 Rails 需要命名空间属性。您可以让您的控制器直接从 中过滤属性params
,或者您可以在 Backbone 中覆盖 toJSON 以添加 Rails 期望的额外包装。
因此,调整您的控制器以查看params
而不是内部的某些东西,params
或者调整您的 Backbone 模型toJSON
看起来像这样:
toJSON: function() {
return { user: _.clone(this.attributes) };
}
如果您进行更改toJSON
,您需要调整向模板提供数据的方式,以补偿toJSON
返回值的变化。