1

为什么需要中间方法?在我看来,这只是连接第一种和第三种方法的中间步骤。

module SessionsHelper

  def sign_in(user)
    cookies.permanent[:remember_token] = user.remember_token
    self.current_user = user
  end

  def current_user=(user)
    @current_user = user
  end

  def current_user
    @current_user ||= User.find_by_remember_token(cookies[:remember_token])
  end
end
4

1 回答 1

1

与当前在线current_user的用户一起设置的是setter方法或helper方法。这用于标识当前用户。devise gem

因此,每当您需要为您的应用程序查找在线用户时,您只需使用以下代码 -

if current_user
#Do something important   
else
#You do not have enough privileges. Please login.
#Your offline stuff
end 
于 2013-03-05T13:20:56.137 回答