0
主に、データテーブルグリッドの再描画を処理するJSONリクエストを処理するコントローラアクションがあります。しかし、私はこのbefore_filterを持っていて、セッションが破棄されたかどうかをチェックし、ログアウトアクションにリダイレクトする必要があります。リクエストがajaxリクエストの場合、リダイレクトはうまくいきます。しかし、リクエストがJSONの場合、ログには「フィルタチェーンが停止された:authorize render or redirected」というメッセージが表示されますが、ページはまったくリダイレクトされません。すべての手がかりは?Rails 3.2.0 - JSON呼び出し後のリダイレクト
私はログが、それはJSONなどのアクションを処理していますことを示していることを参照してください。
Processing by UserController#datatable_redrawings as JSON
マイContoller方法:
before_filter :auth def auth if session[:username].blank? flash[:error] = "Please login." if request.xhr? render :js => "window.location = '/logout'" else respond_to do |format| format.html { redirect_to :action => "logout" } end end end end
私はあなたの例を実装しようとしましたが、うまくいきませんでした。私は彼らが再びログインできるようにそれらをリダイレクトすることを期待しています。許可されていない状態を何に設定するのですか? – oprogfrogo
あなたのクライアントは401を処理し、window.location = '/ logout' – danpickett
を実行する必要がありますので、「無許可」という名前のコントローラメソッドを作成する必要がありますので、window.location = '/ logout'を実行できますか? – oprogfrogo