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 に答える