【问题标题】:Filter chain halted as :validate_sign_up_params rendered or redirected过滤器链因 :validate_sign_up_params 渲染或重定向而停止
【发布时间】:2023-04-01 06:42:01
【问题描述】:

我正在安装 Devise 以在 Rails API 上部署登录功能作为后端。

我尝试通过 Postman 发布 API 请求,但收到以下错误。

[错误信息] 不允许的参数::格式 过滤器链因 :validate_sign_up_params 渲染或重定向而停止

·请求(邮递员): 发布“http://localhost:3000/api/v1/auth”

・json { "用户名": "hogehoge", “电子邮件”:“hogehoge@example.com”, “密码”:“123456789” }


app / controllers / v1 / auth / registrations_controller.rb 
   module Api
      module V1
        module Auth
          class RegistrationsController < DeviseTokenAuth::RegistrationsController
            private
            def sign_up_params
              params.permit(:username, :email, :password)
            end
            def account_update_params
              params.permit(:username, :email)
            end
    
          end
        end
      end
    end

【问题讨论】:

    标签: ruby-on-rails api devise


    【解决方案1】:

    您应该在请求中添加password_confirmation 参数。

    【讨论】:

    • 我添加了“password_confirmation”,但仍然收到相同的错误消息。谢谢!
    • 在许可参数部分你也需要许可
    • 我也在许可参数中添加了它,但仍然无法正常工作。谢谢!
    【解决方案2】:

    在Postman上,发送数据的格式只是“文本”,但像上面一样改为“JSON”,问题就解决了!

    【讨论】:

      猜你喜欢
      • 2016-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-05
      • 2016-02-25
      • 2017-02-11
      • 2018-10-08
      • 1970-01-01
      相关资源
      最近更新 更多