2012-11-30 23 views

回答

0

最後,我完成了這個實現。

步驟執行此操作: - :在UserSessionModel

class UserLoginSession < Authlogic::Session::Base 

    find_by_login_method :find_by_user_email_or_date_of_birth 

end 

login = {:dob => dob_date, :email => primary_email } 
@user_exist = UserSession.new(:email => login, :password => password) 
if [email protected] 
    redirect_to "/UserDashboard" 
    return 
end 

2步:更改

步驟1在我們的控制器(例如,class UserSessionsController < ApplicationController


步驟3:在的usermodel

變化
class User < ActiveRecord::Base 

    acts_as_authentic do |c| 
    c.login_field = :email # email is the login field 
    c.validate_login_field = false 
      # There is no login field, so don't validate it 
    c.validations_scope = :dob 
    end 

    def self.find_by_user_email_or_date_of_birth(login) 
    dob = login[:dob] 
    primary_email = login[:email] 
    find_by_email_and_dob(primary_email, dob) 
    end  
end 

這是在使用authlogic進行認證,以提供3個參數的方式之一。