Rails:在登录或注册后设计重定向到存储位置?

2023-11-22

我正在编写的 Rails 应用程序中使用 Devise,我想让用户在登录或注册后返回到他们所在的位置。

例如,如果我有一个受以下保护的“评论”控制器:

before_filter :authenticate_user!

然后我希望用户点击“立即评论!”按钮(因此被重定向到 CommentsController 中的新操作)进行登录,然后让 Devise 将它们重定向到 CommentsController 中的新操作(或任何位置),而不是应用程序的通用根目录或通用 after_sign_in_path。

浏览 Devise 的 RDOC,我发现这个方法这使得 Devise 看起来至少有能力自己做这样的事情,但我想不出办法。


好的,我做了更多的实验,并利用 Kormie 的信息,我得到了一个可行的解决方案。

据我所知,before_filter authenticate_user! does not保存返回用户的路线。我所做的是这样的:

首先,我添加了一个额外的before_filter在我的控制器顶部

before_filter :store_location
before_filter :authenticate_user!

然后,我写了store_location控制器底部的方法

private

  def store_location
    session[:user_return_to] = any_old_route_path
  end

我并不认为这是完美的,但它对我有用。 (对于其他想要使用它的人来说,缺点是它只支持每个控制器一个返回路径。这就是我自己所需要的,但这只是比我之前使用的每个应用程序一个返回路径稍有改进。 )我真的很感激其他人的见解和建议。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails:在登录或注册后设计重定向到存储位置? 的相关文章

随机推荐

  • 当字符串包含html实体时,在Javascript中设置文本节点的nodeValue

    当我设置文本节点的值时 node nodeValue string with xxxx sort of characters 符号被转义 是否有捷径可寻 您需要对 Unicode 字符使用 Javascript 转义 node nodeVa
  • 为什么没有调用 AccountAuthenticator#getAuthToken() ?

    我通过扩展创建了自己的 Android 帐户身份验证器AbstractAccountAuthenticator并实施addAccount and getAuthToken 其中的一些方法被调用AccountManager 但其他人则不然 这
  • 从头开始构建 Eclipse IDE - 制作更大的图标有时会成功

    Even the newest Eclipse Neon edition has still somewhat small icons on a 4k display That is why I m trying to make them
  • 如何在 ASP.NET 中全局设置日期格式?

    如何在 ASP NET 中全局设置日期格式 我的本地计算机和服务器的区域设置设置为 英语 新西兰 当我格式化日期时dd MM yyyy我期待看到19 11 2008以今天为例 直到最近 这实际上是我从本地计算机和服务器上获得的 就在最近 由
  • 如何使用 Spring Security hasRole 常量

    我有一个带有 Spring Security 的 JSP 我有一个简单的标签来确定用户是否有ADMIN像这样的角色
  • PyBrain:如何在神经网络中放置特定的权重?

    我试图根据给定的事实重新创建一个神经网络 它有 3 个输入 一个隐藏层和一个输出 我的问题是权重也给定了 所以我不需要训练 我在想也许我可以保存类似结构神经网络的训练并相应地改变值 你认为这会起作用吗 还有其他想法吗 谢谢 神经网络代码 n
  • Android 耳机插孔监听器

    有谁知道如何在 Android 上检测设备上的耳机插孔是否已拔出 我有一个音乐播放器 当拔掉耳机时我需要暂停音乐 我发现的最接近的东西是使用AudioManager 这是正确的方向吗 这就是我最终所做的 private class Nois
  • 强制粘贴事件以 Base64 编码图像

    背景 我正在为我的公司开发一个 HTML5 Web 应用程序 它基本上是一个将信息存储在数据库中的富文本编辑器 类似于 Google 文档 我们使用 CKEditor 3 作为富文本编辑器和 Jquery 来完成此任务 我们选择 Googl
  • Thymeleaf:可点击的行

    我想在 html thymeleaf 中生成可点击的表格行 但我有以下问题 AFAIK 它无法用链接 a 标签 包装 tr 元素 因为表只能 直接包含 tr 子标签 所以我必须包装每个 td tag 的内容 但这些值是由 thymeleaf
  • 单击 Windows 窗体中 CefSharp 浏览器中的按钮

    我正在尝试单击网页 kahoot it 上的按钮 并且我已经知道我可能需要使用 Javascript 来实现这一点 只要它保留 1 行 JavaScript 因为这很容易在WinForms 我没有太多关于按钮的信息 仅有的
  • 使用 htaccess 阻止特定目录的所有机器人/爬虫/蜘蛛

    我正在尝试阻止特殊目录的所有机器人 爬虫 蜘蛛 我怎样才能做到这一点htaccess 我搜索了一下 找到了基于用户代理阻塞的解决方案 RewriteCond HTTP USER AGENT googlebot 现在我需要更多的用户代理 对于
  • 从 Rails 表单获取数组

    我需要设计一个表格account资源 在这种形式下 我需要收集一些 id 集作为数组params属性中的哈希值称为relationships 所以最后的params account POST 请求的哈希值应类似于 name gt somen
  • 嵌套垂直边距折叠如何工作?

    我很难理解嵌套元素中垂直边距折叠的概念 我来了一篇文章http www howtocreate co uk tutorials css margincollapsing解释它是如何工作的 但是我对其解释感到困惑 所以在它的例子中它引用了以下
  • Rails:使用多个条件连接

    我有一个简单的模型 例如 class Interest lt ActiveRecord Base has and belongs to many user profiles end class UserProfile lt ActiveRe
  • 类中 static const ODR

    我有点困惑statica 的类内初始化const成员 例如 在下面的代码中 include
  • 将 jQuery UI Accordion 放入 jQuery UI 对话框中

    通过为选项卡创建适当的标记 我已经能够将 jQuery UI 选项卡小部件放置在 jQuery UI 对话框中 但对手风琴进行同样的操作并不起作用 单击手风琴部分的锚点会导致对话框关闭 有没有一种简单的方法可以实现这一点 对我来说效果很好
  • 查找某个项目是否在 JavaScript 数组中的最佳方法? [复制]

    这个问题在这里已经有答案了 查找对象是否在数组中的最佳方法是什么 这是我所知道的最好的方法 function include arr obj for var i 0 i lt arr length i if arr i obj return
  • C# delegate 只写出最后一个方法

    我有这个代码 public void myMethod int a 10 int b 20 Func
  • 如何使用 .htaccess 重写将根 URL 重定向到子目录?

    试图得到 www example com 直接去 www example com store 我尝试了多段代码 但没有任何效果 我尝试过的 Options FollowSymlinks RewriteEngine on RewriteCon
  • Rails:在登录或注册后设计重定向到存储位置?

    我正在编写的 Rails 应用程序中使用 Devise 我想让用户在登录或注册后返回到他们所在的位置 例如 如果我有一个受以下保护的 评论 控制器 before filter authenticate user 然后我希望用户点击 立即评论