2013-07-04 4 views
1

I'm с помощью реек 3.2.13 и я хотел изменить магазин active_record сеанса до 24 часов, так что я установил:Session истекающий Safari Mobile

Uauauanamobile::Application.config.session_store :active_record_store, :expire_after => 24.hours 

В конфигурации/инициализаторах/session_store.rb, но если я проверьте мои файлы cookie iPhone Safari. Я не вижу cookie _session_id и, конечно же, нет (ominauth не работает). Это ошибка?

Мне нужно установить время истечения срока действия, потому что если я использую свой сайт в качестве веб-приложения (используя функцию «Добавить на главный экран iOS»), в противном случае приложение никогда не сохраняет сеанс.

ответ

0

Я нашел ответ на другой вопрос, но в качестве эталона я буду копировать его (другой вопрос поставлен к другой проблеме, но решение одно и то же)

Это для рельсов 3.x так Решение должно установить время истечения срока в каждом запросе следующим образом:

class ApplicationController < ActionController::Base 

     after_filter :short_session 

     ... 

     def short_session 
     request.session_options = request.session_options.dup 
     request.session_options[:expire_after] = 1.minute 
     request.session_options.freeze 
     end 

Это оригинальный ответ, где был выполнен этот код.

How to I dynamically set the expiry time for a cookie-based session in Rails

И да, это устраняет проблему с режимом WebAPP в IOS не сохранения сессии.

Смежные вопросы