1

私は次の興味深い問題を抱えています。セカンダリログインフォームを作成しました。そのセカンダリフォームから、ユーザーが常に特定のフォームにリダイレクトされるようにします。DeviseはApplicationControllerの次の関数でリダイレクトを処理していると思います。

def after_sign_in_path_for(resource)
  # custom redirect stuff
end

「カスタムリダイレクトパスから来ている場合は、常に特定のページに移動し、params [:redirect]にあるものを無視してください」とデバイスに伝える最良の方法は何でしょうか。リファラーのURL文字列を調べるか、セッションにデータを保存することを考えていましたが、よくわかりません。

この動作を実現するための最良の方法は何でしょうか?任意の提案をいただければ幸いです!

4

1 に答える 1

0

Deviseコードを調べたところ、Deviseがリターンパスを格納しているセッション変数をクリアすることで可能であることがわかりました。

session[:user_return_to] = nil # or some explicit path

注:認証されたモデルがuser.rbであると想定します

于 2012-10-18T03:37:39.947 に答える