これが可能かどうかわかりませんが、HTTPヘッダーフィールドを設定した後でリダイレクトしようとしています。以下のような何か:HTTPヘッダーでredirect_to
request.headers['Accept'] = 'application/json'
redirect_to url
request
は、現在の要求ではなくリダイレクトであると明らかにこれは、動作しません。カスタムHTTPヘッダーでredirect_to
を呼び出す方法はありますか?
これが可能かどうかわかりませんが、HTTPヘッダーフィールドを設定した後でリダイレクトしようとしています。以下のような何か:HTTPヘッダーでredirect_to
request.headers['Accept'] = 'application/json'
redirect_to url
request
は、現在の要求ではなくリダイレクトであると明らかにこれは、動作しません。カスタムHTTPヘッダーでredirect_to
を呼び出す方法はありますか?
あなたはそれを直接行うことはできませんが、それを
redirect_toのyour_url、フラッシュ行うための間接的な方法があります:{accept_header: 'アプリケーション/ JSONを'}
は、その後、フラッシュをチェック[:accept_header]をターゲットURLに追加します。
これは特に優雅ではありませんが、機能します。特別なurlパラメータ(your_url(accept_header:json))を使用することに似ていますが、user/bookmarked/etcには見られません。
あなたは、応答のためのカスタムヘッダーを設定したい場合は、 がそれを行うための場所ですresponse.headers response object ...
を使用してください。ヘッダー属性は、 ヘッダー名をその値にマップするハッシュで、Railsは自動的に の一部を設定します。あなたは、ヘッダーを追加または変更したい場合は、単にこの方法をresponse.headersすること を割り当てる:
response.headers["Content-Type"] = "application/pdf"
それはどんな言語、設定されていないカスタムヘッダーとページにリダイレクトする不可能ですまたはフレームワークを使用します。つまり、HTTPリダイレクトをトリガーしてクライアント(ブラウザ)にカスタムヘッダーを追加させる方法はありません。
あなた自身が述べたように、リダイレクト自体ではなく、リダイレクトするようにブラウザに指示するレスポンス用のカスタムヘッダーを設定しています。
カスタムヘッダーでHTTPリクエストを発行するようブラウザに指示する唯一の方法は、JavaScriptとXMLHttpRequest
オブジェクトを使用することです。
これは完璧な*ソリューションのようです。残念ながら、私が設定したこの新しいアプリでは、何かが非常に間違っています。私はヘッダーがない理由を知っていると思う。フラッシュをログに出力すると、次のようになります。 '' '、@flashes = {" alert "=>" "}、@ now = nil> ' '' –
AKWF
問題は、 '' 'before_actions'''をすべて無効にしたことです。 Rails 4.2が広く公開されているアプリケーションの認証をチェックしようとしているのはどういうものなのか分かりません。それはちょうど狂っている。私は文字列 "あなたが最初にログインする必要があります"を検索し、文字通り薄い空気の中に現れます。私のページに行く前に何が起こっているのか分かりましたら、私の要求からすべてが取り除かれている理由を答えてください。それは本当の謎です。 – AKWF