Как заставить записи активных сеансов работать в приложении Ruby on Rails? - PullRequest
1 голос
/ 19 августа 2009

Я сталкиваюсь с ошибкой CookieOverflow, поэтому я хочу переключиться на сеансы базы данных.

В config / environment.rb:

Uncommented: config.action_controller.session_store = :active_record_store
Changed:  :secret for config.action_controller.session

В приложении. Rb:

Uncommented: protect_from_forgery :secret => 'ac44a970c0047c1b049c1967986af674'

Я выполнил несколько команд 'rake ...', которые мне сказали, и создал таблицу базы данных:

CREATE TABLE `sessions` (
`id` int(11) NOT NULL auto_increment,
`session_id` varchar(255) NOT NULL,
`data` text,
`created_at` datetime default NULL,
`updated_at` datetime default NULL,
PRIMARY KEY  (`id`),
KEY `index_sessions_on_session_id` (`session_id`),
KEY `index_sessions_on_updated_at` (`updated_at`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Теперь, похоже, все хорошо и сделано. НО никогда не записывает какие-либо сеансы в базу данных. Логины все еще работают, хотя. Что еще я должен сделать, чтобы сделать эту работу? Как это работает, даже если он использует активные сеансы записи и не записывает какие-либо данные сеанса в базу данных ...?

Есть ли простой способ пройти через это / устранить неисправность?

1 Ответ

0 голосов
/ 20 августа 2009

Убедитесь, что у вас не включены сеансы cookie в файле development.rb (или в какой-либо среде, в которой вы это используете). После этого, пожалуйста, опубликуйте свой контроллер сессий.

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