JavaFree.org | RubyOnBr.org

Ajuda forgot_password (restful_authentication)

Acompanhar Ajuda forgot_password (restful_authentication) 10 posts, 3 participantes

Avatar Vinicius ;) 7 posts

Ola pessoal, estou tendo um problema, adicionei o recurso de lembrar senha, onde o usuario especifica o email que se cadastrou e ele envia o link de ativacao de nova senha…

o problema eh q nao ta reconhecendo q o email q eu digito no form realmente esta cadastrado na conta que esqueci a senha… ai nao tem nem como testar…

def forgot_password
if request.post?
@user = User.find_by_email(params[:email])
if @user ###era para dar true, mas da false e vai para o else, o email digitado no form existe na conta cadastrada
@user.forgot_password
@user.save
redirect_back_or_default(‘/’)
flash[:notice] = “A password reset link has been sent to your email address: #{params[:user][:email]}”
render :text => “A password reset link has been sent to your email address: #{params[:user][:email]}”
else
flash[:notice] = “Could not find a user with that email address: #{params[:user][:email]}”
render :text => “Could not find a user with that email address: #{params[:user][:email]}” #ele mostra isso .
end
end
end

obs: ate hoje nao encontrei uma referencia em portugues de como adicionar recurso de lembrar senha nesse plugin
e tbm os caras… deviam incluir esse recurso para facilitar nossas vidas, tive q seguir um tutorial em ingles

 
Avatar Vinicius ;) 7 posts

Ajuda * =D corrige ai admin…

 
Avatar nofxx 278 posts

Decide como o post ta chamando:

@user = User.find_by_email ( errado aqui…. )

(params[:email])
ou eh
#{params[:user][:email]}

 
Avatar Vinicius ;) 7 posts

nofxx, mais assim ele vai procura pelo user e email nao?

 
Avatar Thiago Lelis 8 posts

Vinicius não sei c vou poder te ajudar já que estou começando com RoR, mas você debugando o @user qual valor que ele irá trazer para você?

 
Avatar Vinicius ;) 7 posts

thiago eu tbm estou comecando… bom ainda n debuguei pra ver o valor q o @user retorna… vou testar aqui…

mais sei q ele nao ta reconhecendo o email… if @user da false ai fala q nao achou o email no sistema e nada acontece…

 
Avatar Vinicius ;) 7 posts

eh o problema eh nessa linha literalmente: @user = User.find_by_email(params[:email])

o @user ta retornando nil… soh q nao entendi o pq disso… o form forgot_password.html.erb abaixo:

<%= error_messages_for :user %> <% form_for :user do |f| -%>
Request link to reset password
<%= f.text_field :email %>
<%= submit_tag ‘Submit’ %>

<% end -%>

 
Avatar nofxx 278 posts

nao cara, nao vai procurar por user e email, soh email

{ user => { email => “blabla” }}

Eh uma hash dentro de outra viu?

Se poderia ter pelo menos tentado .

 
Avatar Vinicius ;) 7 posts

isso ae nofxx, mais como resolvo o problema? tentei algumas coisas aki… mais n obtive sucesso…

mudei para isso , mais continua dando false a condition, sendo q meu email existe no sistema

def forgot_password
return unless request.post?
if @user == User.find_by_email(params[:user][:email])
@user.forgot_password
@user.save
redirect_back_or_default(‘/’)
flash[:notice] = “A password reset link has been sent to your email address: #{params[:user][:email]}”
render :text => “A password reset link has been sent to your email address: #{params[:user][:email]}”
else
flash[:alert] = “Could not find a user with that email address: #{params[:user][:email]}”
render :text => “Could not find a user with that email address: #{params[:user][:email]}”
end
end

 
Avatar nofxx 278 posts

if @user = algo

eh diferente de:

if @user == algo

Voce qr o primeiro…