Сессии в Rails 4

Если ActiveRecord:: Store устарел, что такое предлагаемый метод для поддержания сеанса? Является ли зашифрованный файл cookie новым стандартом? Что делать, если вы хотите сохранить > 4kb в состоянии?

Ответ 1

В Rails 4 включите gem 'activerecord-session_store' в свой Gemfile и запустите установку пакета. Завершите миграцию и настройку в соответствии с https://github.com/rails/activerecord-session_store.

Другой альтернативой является использование "dalli" gem для управления сеансом.

Ответ 2

Посмотрите на файл с именем session_store.rb внутри вашей папки config/initializers. Там вы должны настроить, какую сессию вы хотели бы использовать. Стандарт, основанный на файлах cookie, должен выглядеть следующим образом:

ProjectName::Application.config.session_store :cookie_store, key: '_project_name_session'

После этого все, что вам нужно сделать, это вызвать хэш session из ваших контроллеров. Вы можете установить там любое значение, и оно будет сохраняться между запросами.

Как в Rails Guides:

config.session_store обычно настраивается в config/initializers/session_store.rb и указывает, какой класс использовать для хранения сеанса. Возможные значения: cookie_store, по умолчанию: mem_cache_store и: отключено. Последнее говорит Rails не заниматься сессиями. Пользовательские хранилища сеансов также могут быть указаны (...)