2009-10-12 40 views
6

我遇到了Ryan bates在其authlogic Railscast中使用的稱爲記錄的這種方法,似乎無法理解它的作用。我已經通過了文檔,但似乎無法跟蹤該幫助程序的用途。Authlogic記錄方法。這是什麼

def current_user 
    return @current_user if defined?(@current_user) 

    current_user_session && current_user_session.record 
end 

我想知道的是這是否只是從數據庫讀取記錄,爲什麼它從數據庫中獲取數據的標準方法不同。

謝謝。

回答

9

此「記錄」方法是UserSession和User模型之間的belongs_to關係。 因此,基於會話,它返回用戶。

但是根據documentation,它不再是「記錄」。但是「用戶」。 所以你的current_user輔助方法應該如下:

def current_user 
    return @current_user if defined?(@current_user) 
    @current_user = current_user_session && current_user_session.user 
end 
+0

非常感謝。這真的很有幫助。 乾杯 – Sid

相關問題