Rails API - 无法创建用户,密码已过滤并返回所有验证错误



>我正在尝试在我的 API 中发送 POST 请求(以创建用户(,但我总是收到所有密码验证错误,因为我的密码作为过滤进入 API。

我不明白这个错误,因为如果我从控制台创建一个用户并尝试登录我的 API(使用电子邮件和密码进行 JWT 身份验证(,密码也会被过滤,但一切正常。

我想过滤密码。

我的用户创建方法:

# POST /users
  def create
    @user = User.new(user_params)
    if @user.save
      render json: @user, status: :created, location: @user
    else
      render json: @user.errors, status: :unprocessable_entity
    end
  end

我的文件 filter_parameter_logging.rb:

# Be sure to restart your server when you modify this file.
# Configure sensitive parameters which will be filtered from the log file.
Rails.application.config.filter_parameters += [:password]

用于创建用户的 curl 命令:

curl -H "Content-Type: application/json" -X POST -d '{"email":"caio@email.com","password":"123456","name":"Caio A","age":"18"}' http://localhost:3000/users

请求响应:

{"password":["can't be blank","Password is required","Password minimum size is 4 characters"]}

使用 curl 命令时,您没有正确发送参数哈希。

curl -H "Content-Type: application/json" -X POST -d '{"user": {"email":"caio@email.com","password":"123456","name":"Caio A","age":"18"}}' http://localhost:3000/users或沿着这些行,根据您允许的强参数方法def user_params

相关内容

  • 没有找到相关文章

最新更新