设计重置密码的允许参数

时间:2014-03-24 18:57:45

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

我在我的Rails 4应用程序上有一个Devise auth工作,我面对这个问题,我有我的会员模型,只有更新方法验证(必需)一些额外的字段(所以它没有' t搞砸了注册表格)但我只是注意到了#34;重置密码"也使用update方法,但是在不同的控制器(DeviseController)中。以下是发生的事情:

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

有没有办法告诉Devise只请求这个特定表单上的密码和password_confirmation字段?

谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

您也可以在用户模型中尝试这样的smth

  validates :first_name, :last_name, presence: true, format: { with: /\A[a-zA-Z]+\z/, message: 'only allows letters' }, unless: :password_reset

  def password_reset
    reset_password_token.present?
  end

<击>

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