【问题标题】:How to make Rails devise post to the return_to path, not redirect to it?如何使 Rails 设计发布到 return_to 路径,而不是重定向到它?
【发布时间】:2011-06-28 10:40:46
【问题描述】:

我在 rails 2.3 上使用设计,需要有一个公开和私有的表单 - 用于登录用户和未登录用户。两个用户都应该看到它,但只有登录用户可以发布表格。

我想实现当匿名用户填写并发布表单时,设计向他显示登录页面,他登录并发布表单的内容。

现在,当我将创建操作(表单本身发布到该操作)设为私有时,设计会向他显示登录屏幕并记住他来自哪里 - 将 url 保存到 session[:return_to] 并将他重定向回表单。

除了猴子补丁之外,还有其他方法可以做到这一点吗?

【问题讨论】:

    标签: ruby-on-rails devise


    【解决方案1】:

    我相信如果没有对 Devise 进行一些黑客攻击,您将无法让 Devise 在成功登录后发布到某个位置。

    但是,由于您将 url 保存在会话中,因此您也可以轻松地将帖子数据保存在会话中,然后在重定向回来时检查它。还要确保在使用后将其从会话中删除。

    【讨论】:

    • 是的,我终于做了类似的事情。必须向控制器添加 uprotected/public 操作。表单已发布到该操作,我保存了表单数据,没有它我无法保存表单数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多