に戻ってリダイレクトません。 before_filterは、ユーザーがログインしているかどうかを確認します。そうでない場合は、request.request_uriを取得してセッション変数(セッション[:return_to])に入れ、ユーザーを302リダイレクトメッセージでログインページに送ります。ログイン後、ユーザーはセッション[:return_to]のURLにリダイレクトされます。RoRの:私はリソースの一部のための認証を必要とするAuthenticatedSystemを使ってRoRのアプリを持っている</p> <p>:AuthenticatedSystemが正しく、私は今、数日のために、この1に対する私の頭を叩いてきたサファリ
これはIEとFirefoxでうまくいきます。 Safariでは、最初のbefore_filterのrequest.request_uriは空白で、セッションコントローラは常にメインページにリダイレクトされます。
誰もこれまでに遭遇したことはありますか?私が持っている唯一の手掛かりは、Web Inspector for Safariには初期ページのリクエストが表示されず、ログインのリクエストだけが表示されることです。 Firefoxでは、私は両方のリクエストを見ています。ここで
def login_required
if !authorized?
session[:return_to] = request.request_uri
redirect_to new_session_path
end
end
のセッション/作成:ここで
はbefore_filterだdef create
self.current_user = User.authenticate(params[:login], params[:password])
if logged_in?
if params[:remember_me] == "1"
current_user.remember_me unless current_user.remember_token?
cookies[:auth_token] = { :value => self.current_user.remember_token , :expires => self.current_user.remember_token_expires_at }
end
redirect_back_or_default('/')
flash[:notice] = "Logged in successfully"
else
flash.now[:error] = "Authentication failed."
render :action => 'new'
end
end
任意のアイデア?だから、