【问题标题】:Rails friendly forward redirect loopRails 友好的前向重定向循环
【发布时间】:2013-03-07 01:47:49
【问题描述】:

我有一个创建来宾用户的控制器操作。出于某种原因,当您单击访客登录链接时,在尝试将用户转发回上一页时,我会遇到重定向循环问题(不是一直,而是有时)。这是我的代码:

class ApplicationController < ActionController::Base
  before_filter :remember_location

  protected

  def remember_location
    session[:return_to] = request.referrer
  end

  def redirect_back_or(default)
    redirect_to(session[:return_to] || default)
    clear_return_to
  end

  def clear_return_to
    session.delete(:return_to)
  end
end

class GuestUsersController < ApplicationController

  def create
    # do create thing...
    redirect_back_or(root_url)
  end

end

看来应该可以了。任何想法可能导致问题?故障排除提示也会很有帮助。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 session redirect controller


    【解决方案1】:

    您不应该“记住”GuestUsersController 上的 create 操作。将此添加到该类的顶部。

    skip_before_filter :remember_location, only: [ :create ]
    

    【讨论】:

    • 这个解决方案的其他部分是我需要: session[:return_to] = request.fullpath 而不是 session[:return_to] = request.referrer
    猜你喜欢
    • 2012-11-20
    • 2012-10-03
    • 2018-07-14
    • 2012-12-07
    • 1970-01-01
    • 2019-08-01
    • 2018-04-28
    • 2012-05-22
    • 1970-01-01
    相关资源
    最近更新 更多