我有一个控制器操作,可以创建访客用户。出于某种原因,当您单击访客登录链接时,我会在尝试将用户转发回上一页时遇到重定向循环问题(不是所有时间,但有时)。这是我的代码:
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
似乎它应该工作。可能导致问题的任何想法?故障排除提示也很有帮助。
答案 0 :(得分:3)
您不应该“记住”create
上的GuestUsersController
操作。将其添加到该类的顶部。
skip_before_filter :remember_location, only: [ :create ]