Railsのsessionがどうやって設定されるのかをコードリーディングをして追ってみました。Railsのバージョンは5.1.4です。 今回はセッションストアにRedis(redis-store)を使ったケースを追ってみます。 ActionController::Metal#sessionはActionDispatch::Request#sessionにdelegateし、Rack::Request::Env#session(Rack::Request::HelpersやRack::Request::Envなどをinclude)を呼び出します。 module Rack class Request module Env def fetch_header(name, &block) @env.fetch(name, &block) end module Helpers def session