参考資料Rails上でHTTPヘッダを取得する方法RailsアプリケーションでHTTPヘッダの情報を取得する場合はrequest.headersあるいはrequest.envを利用します。*/*"]HTTPヘッダをRailsに渡す際の仕様についてRailsアプリケーションはRack(RubyでWebサーバを立ち上げるためのインタフェース)を利用してデータのやりとりを行っています。Meta-Variablesの項目には以下のような記述があります。HTTPヘッダのフィールド名を大文字に変換する『-』を『_』に置き換える『HTTP_』を先頭に付けるつまり、リクエスト時に送信されたHTTPヘッダのフィールド名はRailsアプリケーションに届く過程で暗黙的に変換されます。Railsアプリケーション上でHTTPヘッダから値を取得する際は、リクエスト時のフィールド名と異なっているので注意が必要です。nilHTTPヘッダに独自のフィールドを追加する場合、名前にはアンダースコアではなくハイフンを使った方が良いnginxのunderscores_in_headers(アンダースコアを含んだHTTPフィールドの有効可否の設定)の設定がデフォルトでOFFになっていることからもわかる通り1、原則HTTPヘッダのフィールド名にアンダースコアは含めないほうがよいです。HTTPヘッダに独自のフィールドを追加する際は名前にはアンダースコアではなくハイフンを利用するようにしましょう。Rails上でHTTPヘッダが取得できない場合はフィールド名にアンダースコアが含まれているか確認するたとえば、Railsアプリケーションの前段にunderscores_in_headersがOFFのnginxが配置されいている場合、アンダースコアが含まれたフィールド名のHTTPヘッダはRailsアプリケーションに届きません。HTTPヘッダの情報がRailsアプリケーションに届かない場合はヘッダ名を確認するとよいです。さいごにTwitter(@nishina555)やってます。↩RECOMMENDRubynginxRailsツイートシェアはてブ送るPocketプロフィールnishina大企業、ベンチャーと色々なところでWebエンジニアやっています。退職手続きから案件参画まで。人気の記事iPhoneの連絡先の保存がうまくできない!?原因は同期設定かも。