1

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

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

似乎它应该工作。任何想法可能导致问题?故障排除提示也会有所帮助。

4

1 回答 1

3

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

skip_before_filter :remember_location, only: [ :create ]
于 2013-03-18T16:32:03.147 回答