如果用户未登录,我希望我网站的访问者拥有默认会话“访客用户”。我已在用户表中创建了访客用户,但如果用户如何为该用户启动会话没有登录。
我可以在ApplicationController中的过滤器之前使用:set_user:
class ApplicationController < ActionController::Base
before_filter :set_user
private
def set_user
current_user || # Initiate a session with Guest here. But how?
end
end
答案 0 :(得分:2)
这就是诀窍:
sign_in(user)
我无法相信需要花多长时间来解决这个问题!
答案 1 :(得分:0)
要初始化current_user,只需创建一个新的User实例。您还可以在其中保存一些唯一标识符,您还可以将其保存在Cookie中,以便在用户回来时识别该用户。
例如:
current_user ||= User.find_or_create_by_session_id( some_session_id_from_cookie )