首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Devise在Rails应用程序中有条件地登出

使用Devise在Rails应用程序中有条件地登出
EN

Stack Overflow用户
提问于 2012-10-03 05:12:07
回答 1查看 282关注 0票数 3

我正在创建一个rails应用程序,用户可以登录并查看各种页面。一些是私有的,另一些是公共的。如果用户在查看个人主页时注销,他应该被重定向到root_path。如果用户在查看公共页面时注销,他应该被重定向到相同的页面(现在他已经退出了,呈现方式略有不同)。

我想在我的application_controller中的after_sign_out_path_for(resource_or_scope)方法中使用一个条件语句来实现这一点。问题在于,通常从pages_controller文件访问的@page变量在此范围内为空和/或不可用。在会话被销毁之后,从不同的控制器访问这个变量(最后加载的页面)的最佳方式是什么?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-03 05:25:31

您可以在会话变量中跟踪最后一个页面,并在筛选器之前添加以使其在页面控制器中保持最新。

代码语言:javascript
运行
复制
session[:last_page_visited] = @page

您还可以访问request.referrer,这将为您提供他们从中注销的页面的URL。不确定您是否可以从中确定私有/公共,也许使用正则表达式?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12698397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档