首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >devise react-rails注册表发布

devise react-rails注册表发布
EN

Stack Overflow用户
提问于 2016-04-10 02:01:08
回答 1查看 196关注 0票数 1

我正在使用Rails4,Devise用于身份验证,React.JS用于通过项目上的react-rails查看视图。

目前我正在尝试让自定义注册工作。我一步一步地遵循文档,定制到我的User/registrations_controller的路由,并使每件事都工作得很好。

我正在使用jquery从前端的表单中启动ajax。目前已经硬编码了一些用于测试的数据。

我现在收到一个422响应,说当我发送它时,它找不到密码和电子邮件。但是,它没有提到任何关于传入的其他值,所以它看起来仍然是默认的devise引擎……任何帮助都会很好,我知道devise以难以配置而闻名。

这是我的控制器函数-

代码语言:javascript
复制
def create
     @user= User.new(configure_sign_up_params)
respond_to do |format| 
  if @user.save
      format.html { redirect_to @user, notice: 'User was successfully created.' }
      format.json { render :show, status: :created, location: @user }
  else
      format.html { render :new }
      format.json { render json: @user.errors, status: :unprocessable_entity }
  end
end

这是我的强参数函数-

代码语言:javascript
复制
 def configure_sign_up_params
   devise_parameter_sanitizer.for(:sign_up) {|u| u.permit(:email, :password, :password_confirmation) } 
 end

这是我在JSOn.stringify之后发送的数据-

代码语言:javascript
复制
 let formData =
        {
            "username": "test", // document.getElementById('username').value
            "password": "1234",
            "password_confirmation": "1234",
            "email": "test@gmail.com",
            "membership": "community"
        }

这是我在网络响应上得到的错误- 422,这个正文-

代码语言:javascript
复制
{"email":["can't be blank"],"password":["can't be blank"]}

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2017-04-06 16:16:45

尝试将其发送为

代码语言:javascript
复制
{
  user: {
    "username": "test",
    "password": "1234",
    "password_confirmation": "1234",
    "email": "test@gmail.com",
    "membership": "community"
  }
}

因为devise执行类似于params(:user)的操作,并且返回nil,因为参数中没有用户键

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36520633

复制
相关文章

相似问题

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