Если ActiveRecord:: Store устарел, что такое предлагаемый метод для поддержания сеанса? Является ли зашифрованный файл cookie новым стандартом? Что делать, если вы хотите сохранить > 4kb в состоянии?
Сессии в Rails 4
Ответ 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 не заниматься сессиями. Пользовательские хранилища сеансов также могут быть указаны (...)