Как я могу переопределить хранилище сеансов Rails в конкретном контроллере? - PullRequest
0 голосов
/ 25 января 2011

У меня есть приложение Rails 3, которое использует значение по умолчанию CookieStore. Приложение также имеет раздел администратора, для которого контроллеры наследуются от базового контроллера администратора. Я хотел бы использовать ActiveRecordStore для страниц администратора, продолжая использовать CookieStore для всего остального.

Почему бы не использовать куки для всего? Мне нужно хранить большие значения для сеанса для страниц администратора.

(Я открыт для вероятности того, что я неправильно структурировал свое приложение. Будучи новичком в Rails, похоже, что основное приложение и раздел администратора должны быть отдельными приложениями, которые разделяют определенные части, например модели, но я не я не нашел примеров такого подхода.)

1 Ответ

2 голосов
/ 25 января 2011

Я не думаю, что можно изменить хранилище сеансов для каждого контроллера, так как данные сеанса загружаются / выгружаются с использованием промежуточного программного обеспечения.

$ rake middleware
...
use ActionDispatch::Session::CookieStore
...

Я думаю, вам лучше использовать магазин Active Record для всего сайта. Обычный пользователь не сможет просматривать данные сеанса в любом случае, поэтому он по-прежнему безопасен. Или лучше, используйте какое-то хранилище NoSQL, если вы беспокоитесь о производительности вашего SQL-сервера. Однако, отметил, что Memcached может иметь только 1 МБ данных на ключ:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...