def login_submit
if session['user']
@logged_in = true
else
@logged_in = false
end
@user = User.new(params['user'])
if session['user'] = User.authenticate(params['user']['username'],
params['user']['password'])
flash[:notice] = l(:user_login_succeeded)
redirect_to :action => 'list'
else
@login = params['user']['login']
flash.now[:notice] = l(:user_login_failed)
end
end
do you have a user model with that method defined?
HERE IS MY USER CONTROLLER---------
class UserController < ApplicationController
layout "home"
def list
@user = User.find(:all)
end
def new
@user = User.new
end
def create
@user = User.new(params[:user])
if @user.save
redirect_to :action => 'list'
else
redirect_to :action => 'new'
end
end
def login
@user = User.new
@user.username = params[:user][:username]
end
def login_submit
username = params[:user][:username]
password = params[:user][:password]
if session["user"] = User.authorize(username, password)
@user = User.find(session["user"].id)
@user.first_login = 1
@user.save
flash[:notice] = "You are now logged in"
redirect_to :action => 'create'
else
flash[:error] = "Incorrect username and/or password"
redirect_to :action => 'list'
end
end
end
You should have a method authenticate defined in User model.
In your case, authenticate method must be defined in User model as
class User < ActiveRecord::Base
validates_presence_of :username, :message=>"User Name will not
bblank"
validates_presence_of :password, :message=>"Password cannot be
blank"
# # # # Authenticate method # # #
def self.authenticate(login, pass)
find(:first, :conditions=>["login = ? AND password = ?", login,
pass]) # login, password are your users table fields..
end
end
Thx prasad...........
my prog is running successfully........
in future also if i have any problem i wil contact u........
can u give me u r email-id....
Thnx a lot.......