如何创建默认的“访客”会话,以便设计助手 current_user 显示我的访客用户?

Posted

技术标签:

【中文标题】如何创建默认的“访客”会话,以便设计助手 current_user 显示我的访客用户?【英文标题】:How can I create a default "Guest" session so that the Devise helper current_user will show my Guest user? 【发布时间】:2011-05-09 07:37:45 【问题描述】:

我希望我网站的所有用户都有一个默认的“访客”会话。我正在使用设计。我所有的设计代码都适用于注册用户,但我也有一个“访客”用户的用户记录。

我要做的就是自动以该用户身份登录某人,这样在我的视图和其他地方,对 Devise 的 current_user 的调用不会失败。

自 9 月底以来,我一直在努力寻找答案。我什至无法在 Devise 邮件列表上得到回复。

【问题讨论】:

【参考方案1】:
def set_user
  if current_user.blank?
    user = User.where(:email => "guest@mycompany").first
    if user.blank?
      redirect_to new_user_registration_path
    else
      sign_in(user) # Why was this so hard to find out? I had to read all of the Devise code.
    end
  end
end

【讨论】:

这是您的应用程序控制器中的 before_filter 还是什么?

以上是关于如何创建默认的“访客”会话,以便设计助手 current_user 显示我的访客用户?的主要内容,如果未能解决你的问题,请参考以下文章

session

Laravel,访客和用户的公共页面,会话表 user_id null

Rails 5 和设计:如何在不更改默认策略的情况下禁用基于令牌的策略上的会话

如何在中间件中使用会话来始终检查用户是不是登录

使用设计,我如何创建会话#create 端点?

教练助手