4

Railsコントローラーに送信されたリクエストには、 が追加されているため、HTTP_プレフィックスが付けられActionDispatch::HTTP.Headersます。それを防ぐ方法はありますか(をオーバーライドせずにActionDispatch::HTTP、カスタムヘッダーをそのまま使用し、それらをキーとして使用できるようにしますheaders.@envか?

4

1 に答える 1

4

いいえ、できません。これActionDispatch::Http::Headersが、ヘッダーを正規化するようにクラスが設計されている方法です。

private

def env_name(key)
  key = key.to_s
  if key =~ HTTP_HEADER
    key = key.upcase.tr('-', '_')
    key = "HTTP_" + key unless CGI_VARIABLES.include?(key)
  end
  key
end

カスタム ヘッダーは引き続き使用できます。HTTP_X_FOOの代わりにとして参照するだけですx-foo

于 2014-11-14T18:15:18.427 に答える