2012-09-20 95 views
1

在我的ApplicationController類中,我需要重寫設備的current_user以使用我自己的定義,但在某些情況下,我還希望設計的current_user。我試過類似devise_current_user和current_user問題

alias_method :devise_current_user, :current_user 
def current_user 

但它似乎沒有工作。我在alias_method行上得到一個未定義的方法current_user。我已經問過這個問題在其他地方(Override current_user in ApplicationController throws undefined method error),但因爲它沒有回答,我在想,如果我可以這樣做:

def devise_current_user 
    return Devise::Controllers::Helpers.current_user 
end 

什麼是做到這一點的正確方法?

回答

0

你應該能夠只是做你做了什麼:

def devise_current_user 
    current_user 
end 
+0

這是行不通的。 – Rajat

+0

它只適用於你的用戶模型被命名爲User並且僅在該用戶被認證之後。否則,current_user將返回nil。如果您使用的是User以外的其他用戶,例如AdminUser,則可以使用current_admin_user等。 – iouri

相關問題