How to remove devise password resetting during email confirmation?

会有一股神秘感。 提交于 2020-01-11 14:09:26

问题


My email confirmation works with devise, however I want to remove this automatic password resetting. I don't manage to find in which file devise orders this action. Thank you in advance !


回答1:


Just disable :recoverable module in User model and remove Forgot your password? link in devise/sessions/new.html.erb




回答2:


If you don't want password recovery functionality in Devise, you should not set devise attribute ':recoverable' in your model. Please remove this attribute from your model, remove forgot password links from you views and you will no longer be able to reset password with Devise.




回答3:


Presuming your devise model is User:

  1. Remove :recoverable module in app/models/user.rb
  2. If you once had your devise views generated, remove Forgot your password? link in app/views/devise/shared/_links.html.erb
  3. Create a migration dropping reset_password_token and reset_password_sent_at of your users table:

First run:

rails g migration RemoveRecoverableFromUsers

Edit migration:

class RemoveRecoverableFromUsers < ActiveRecord::Migration[5.0]
  def up
    remove_column :users, :reset_password_token
    remove_column :users, :reset_password_sent_at
  end

  def down
    add_column :users, :reset_password_token, :string
    add_column :users, :reset_password_sent_at, :datetime
  end
end


来源:https://stackoverflow.com/questions/17672804/how-to-remove-devise-password-resetting-during-email-confirmation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!