1

寄存器视图由主干呈现。当我提交表单以注册新用户时,我收到了这样的错误。

在此处输入图像描述

我知道它会检查电子邮件是否存在。但我不知道为什么我发布了所有属性,但后端似乎没有得到它。

4

1 回答 1

2

我猜你的控制器正在寻找params[:user]用户的信息,但你:userparams. 该手册谈到了这一点:

使用 Rails
[...]
同样,Backbone PUT 和 POST 直接使用 JSON 表示模型,默认情况下 Rails 需要命名空间属性。您可以让您的控制器直接从 中过滤属性params,或者您可以在 Backbone 中覆盖 toJSON 以添加 Rails 期望的额外包装。

因此,调整您的控制器以查看params而不是内部的某些东西,params或者调整您的 Backbone 模型toJSON看起来像这样:

toJSON: function() {
    return { user: _.clone(this.attributes) };
}

如果您进行更改toJSON,您需要调整向模板提供数据的方式,以补偿toJSON返回值的变化。

于 2012-12-28T18:24:19.080 回答