I am trying to use a method from a model when reset the users password.
This is my code in my controller:
Code Ruby:def reset_password # Process the password reset. if params[:user] && params[:user][:username] && params[:user][:email] if params[:user][:username].empty? || params[:user][:email].empty? render :update do |page| page.replace_html 'notice', '<span class="error">Please enter a username and an email.</span>' end else if Users.exists?(:username => params[:user][:username], :email => params[:user][:email]) password = 'test' @User = Users.find(:first, :conditions => {:username => params[:user][:username], :email => params[:user][:email]}, :select => 'first_name, email') @User.password = password @User.save email = Mailer.deliver_reset_password(@User, password) Mailer.deliver(email) render :update do |page| page.replace_html 'notice', '<span class="success">Your password has been reset and sent to you.</span>' page.visual_effect :fade, 'user_reset_password' end else render :update do |page| page.replace_html 'notice', '<span class="error">Wrong username and/or email.</span>' end end end else # Render nothing. render :action => false, :layout => false end end
However, when I call reset_password it says the user argument is not getting passed, and I just don't understand why. Here is the method code:
Code Ruby:def reset_password(user, password) recipients user.email from 'noreply@mysite.com' subject 'Temporary New Password' body render_message('reset_password.txt.erb'), :first_name => user.first_name, :password => password end
Can someone please help? Why isn't this working? Thanx.









Bookmarks