내 솔루션은 Devise의 암호 컨트롤러를 확장/재정의하는 것입니다. 이 작업을 수행하려면이 같은 고안의 암호 컨트롤러에서 상속 컨트롤러 (의 암호를 부르 자), 작성 :
devise_for :users, :controllers => { :passwords => 'passwords' }
지금 :
class PasswordsController < Devise::PasswordsController
이 그런 다음 루트 파일을 편집을 그래서이 변경 사항이 적용됩니다 create
action을 재정의해야합니다. 이 당신이 할 수있는 몇 가지 방법이 있습니다하지만 난 당신이 원하는 무엇을 잘 모르겠어요 때문에, 나는 당신에게 당신이 할 수있는 2 가지 보여 드리겠습니다 : 당신은 찾을 수 없습니다 "이메일을 방지 할
을
def create
self.resource = resource_class.send_reset_password_instructions(resource_params)
respond_with({}, :location => after_sending_reset_password_instructions_path_for(resource_name))
end
당신은 정말 어떤 이메일을 보낼 이메일을 입력 :
def create
self.resource = resource_class.send_reset_password_instructions(resource_params)
unless successfully_sent?(resource)
Devise::Mailer.reset_password_instructions(resource).deliver
end
respond_with({}, :location => after_sending_reset_password_instructions_path_for(resource_name))
end
를 "오류 사람들은 이메일 존재 여부를 데이터베이스에서 찾을 수 있도록
이제 마지막 해결책의 문제점은 존재하지 않는 사용자에게 전자 메일을 보내고 있다는 것입니다. 따라서 사용자가 다시 돌아 오면 사용자 이후 자신의 새 암호를 입력 할 수 없습니다 계정을 찾을 수 없습니다. 그러나 만약 당신이 정말로 이것을하고 싶다면, 당신을 올바른 길로 인도하기를 바랍니다.
Devise는 사용자의 존재를 제어합니다. 귀하의 개발 버전은 무엇입니까? – emrahbasman
Devise 1.5.3 사용 – AnkitG