Hello there, I'm trying to do the login section for my small web application, but it doesn't seem to work like I want. Here is the Controller: if request.post? @user = User.authenticate(params[:user][:email], params[:user][:password]) if @user redirect_to :action => 'my_account' end end This is how the model authenticate look like. def self.authenticate(email, password) @user = User.find( :first, :conditions => ["email = ? and password = ?", email, password], :limit => 1); return false if @user.nil? return true if @user end But whenever I try to login I get a error undefined method `email' for false:FalseClass I don't know what this one means? could anyone help me and Thanks for Your help.
on 2007-03-02 13:23
on 2007-03-02 16:18
are you seeing this error on the 'login page' or the my 'account page' my guess is that since you are returning @user as true/false, your authenticate is not working correctly, and is returning false, so the login form gets redisplayed, which is expecting @user to be a valid User object so it can populate the forms. I could be more certain if i was able to see your entire controller method (login?) and your login view.