password encryption is not working..

I am using require 'digest/sha1' to encrypt my password and save into
database. During login it is showing the following error-

undefined local variable or method `encrypted_password' for
#<Signin:0x992c990

code:

before_save :encrypt_password

def has_password?(submitted_password)
  encrypted_password == encrypt(submitted_password)
end

  private

     def encrypt_password
       self.salt = make_salt unless has_password?(password)
       self.encrypted_password = encrypt(password)
     end

     def encrypt(string)
       secure_hash("#{salt}--#{string}")
     end

     def make_salt
       secure_hash("#{Time.now.utc}--#{password}")
     end

     def secure_hash(string)
       Digest::SHA2.hexdigest(string)
     end

Please help me dis !

you are not declared ‘encrypted_password’’ variable. so first declared that variable in model and use it.

I am using require 'digest/sha1' to encrypt my password and save into
database. During login it is showing the following error-

undefined local variable or method `encrypted_password' for
#<Signin:0x992c990

You have tried to access a method encrypted_password on the Signin
class. Either the signins table does not have a column of that name,
or you are calling encrypted_password on the wrong class type.

Colin

i think you should read this link for this problem :-
http://ruby.railstutorial.org/chapters/modeling-and-viewing-users-two#sec:secure_passwords