Не обязательно использовать куки, но это рельсы по умолчанию от 2.x и выше. Использование куки-файлов служит простым решением некоторых более сложных проблем, которые возникают, когда вы пытаетесь сохранить куки-файлы в памяти на нескольких серверах (и вы попадаете в такие вещи, как липкие сессии, потеря пользовательских данных и т.д.).
Вы можете указать, где rails будет хранить данные вашего сеанса; это вспышка и все, что связано с конкретным пользователем. В environment.rb вы можете настроить, где хранить свои сессии, используя config.action_controller.session_store . Возможные варианты: : cookie_store,: active_record_store,: p_store,: drb_store,: mem_cache_store или: memory_store .
cookie_store используется по умолчанию, если вы закомментировали опцию или удалили ее из environemnt.rb. Это также самый универсальный. Если у вас несколько серверов, один запрос пользователя может поступить на один сервер, а следующий запрос может прийти на другой сервер. В этой ситуации вы не можете использовать memory_store, поскольку 2-й сервер не будет ничего знать о текущем пользователе.
Хранение информации о сеансе в зашифрованном файле cookie снижает нагрузку на сервер для хранения этой информации. Единственным недостатком является то, что каждый запрос к серверу должен передавать куки (обычно <1 КБ), но это не заметная разница во всем, что я когда-либо испытывал. </p>
: cookie_store,: mem_cache_store и: active_record_store являются наиболее часто используемыми.