2012-09-20 130 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

相关问题