Method: Rails::Application::Configuration#session_store

Defined in:
railties/lib/rails/application/configuration.rb

#session_store(new_session_store = nil, **options) ⇒ Object

Specifies what class to use to store the session. Possible values are :cache_store, :cookie_store, :mem_cache_store, a custom store, or :disabled. :disabled tells Rails not to deal with sessions.

Additional options will be set as session_options:

config.session_store :cookie_store, key: "_your_app_session"
config.session_options # => {key: "_your_app_session"}

If a custom store is specified as a symbol, it will be resolved to the ActionDispatch::Session namespace:

# use ActionDispatch::Session::MyCustomStore as the session store
config.session_store :my_custom_store


538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
# File 'railties/lib/rails/application/configuration.rb', line 538

def session_store(new_session_store = nil, **options)
  if new_session_store
    @session_store = new_session_store
    @session_options = options || {}
  else
    case @session_store
    when :disabled
      nil
    when Symbol
      ActionDispatch::Session.resolve_store(@session_store)
    else
      @session_store
    end
  end
end