【问题标题】:Permitted Params for Devise Reset Password设计重置密码的允许参数
【发布时间】:2023-04-04 10:22:01
【问题描述】:

我有一个在我的 Rails 4 应用程序上工作的 Devise 身份验证,我遇到了这个问题,我的会员模型有一些额外的字段仅在更新方法上被验证(必需)(所以它不会搞砸注册表单),但我刚刚注意到“重置密码”也使用了更新方法,但在不同的控制器(DeviseController)中。以下是正在发生的事情:

  • 我尝试重设会员密码
  • 提交表单(仅密码和密码确认字段)
  • 关于额外/必填字段的错误

有没有办法告诉 Devise 只请求此特定表单上的密码和密码确认字段?

谢谢!

【问题讨论】:

  • 你有没有想过解决这个问题?

标签: ruby-on-rails activerecord ruby-on-rails-4 devise


【解决方案1】:

我遇到了同样的问题,我不知道为什么,但它只是在生产中。

首先,在重置密码之前,请检查此字段(额外/必填字段)是否不为空。

你也可以在你的用户模型中尝试这样的事情

验证 :first_name, :last_name, 存在: true, 格式: { with: /\A[a-zA-Z]+\z/, message: 'only allowed letters' }, 除非: :password_reset def password_reset reset_password_token.present? 结尾

我测试过,只需检查必须在您重置密码之前验证的字段。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-22
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    相关资源
    最近更新 更多