How to remove devise password resetting during ema

2019-03-05 02:31发布

问题:

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