Данные сеанса исчезают - PullRequest
       3

Данные сеанса исчезают

0 голосов
/ 16 декабря 2011

Я пишу функцию для моего приложения rails, согласно которой для любого произвольного действия, требующего входа пользователя в систему, пользователю, не вошедшему в систему, будет предложен модал ajax для регистрации / входа сначала и после регистрации. / login, исходное действие завершено.

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

При обнаружении «анонимного» пользователя я сохраняю информацию о действии:

session[:interrupted_action] = #info on original action

Затем отредактируйте модал регистрации / входа.

После этого я снова пытаюсь получить доступ к информации о сеансе:

if session[:interrupted_action]
  #do stuff to complete action

К сожалению, сессия [: interrupted_action] теперь nil. Я чувствую, что пропускаю некоторые очевидные проблемы с сессиями, но я еще не смог понять это.

Что мне здесь делать / расследовать?

1 Ответ

0 голосов
/ 16 декабря 2011

Из направляющих Rails

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

Так что, если вы используете конфигурацию по умолчанию, сеанс сохраняется в файлах cookie.Убедитесь, что ваш браузер позволяет сохранять файлы cookie.

Вы можете проверить, есть ли какие-либо записи в файлах cookie для вашего локального хоста

Также попробуйте распечатать сам сеанс, чтобы увидеть, есть ли что-тохеш.

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