【发布时间】:2012-10-02 21:12:07
【问题描述】:
我正在创建一个 Rails 应用程序,用户可以在其中登录并查看各个页面。有些是私人的,有些是公开的。如果用户在查看私人页面时退出,他应该被重定向到 root_path。如果用户在查看公共页面时退出,他应该被重定向到同一个页面(在他退出后,呈现方式会略有不同)。
我想在 application_controller 的 after_sign_out_path_for(resource_or_scope) 方法中使用条件语句来执行此操作。问题是通常从 pages_controller 文件访问的 @page 变量在此范围内为 nil 和/或不可用。在会话被销毁后,从不同的控制器访问此变量(最后加载的页面)的最佳方法是什么?
谢谢。
【问题讨论】:
-
后续问题:有什么方法可以使用resource_or_scope参数将页面的引用传递给方法吗?
标签: ruby-on-rails ruby-on-rails-3 session devise