我有一個用戶模型,其中有一個身份驗證方法。軌道動態find_by方法不能在類方法內工作
如果我在rails控制檯中使用模型進行測試,可以創建一個用戶就好了,然後我可以在電子郵件上找到並像這樣完全返回用戶。
user = User.find_by_email("[email protected]")
現在,如果我嘗試調用這樣的身份驗證方法和返回用戶看跌期權用戶聲明,我的身份驗證方法返回零
user = User.authenticate("[email protected]", "foobar")
這個模型看起來像這樣
class User < ActiveRecord::Base
attr_accessor :password
attr_accessible :first_name, :last_name,
:email, :birth_date, :sex,
:password, :password_confirmation
def self.authenticate(email, submitted_password)
user = find_by_email(email)
puts user #this returns nil so my class is never able to authenticate the user
return nil if user.nil?
return user if user.has_password?(submitted_password)
end
end
我對這個問題感到不知所措。對此問題的一些看法將非常感激。
這是BTW的真正解決方案。我在看到你的建議之前找到了它。好決定。 – mattwallace 2010-11-28 23:52:43