Ustawianie daty rozpoczęcia i wygaśnięcia dla plików cookie Rails
Jak ustawić plik cookie Rails, aby zaczął się i / lub wygasał w określonym dniu?
3 answers
Fragmenty Rails 5 documentation :
Pliki cookie są odczytywane i zapisywane za pomocą ActionController#cookies.
Odczytywane pliki cookie to te otrzymane wraz z żądaniem, zapisywane pliki cookie będą wysyłane wraz z odpowiedzią. Odczytanie pliku cookie nie zwraca samego obiektu cookie, tylko jego wartość.
Przykłady zapisu:
# Sets a simple session cookie. # This cookie will be deleted when the user's browser is closed. cookies[:user_name] = "david" # Sets a cookie that expires in 1 hour. cookies[:login] = { value: "XJ-122", expires: 1.hour } # Sets a cookie that expires at a specific time. cookies[:login] = { value: "XJ-122", expires: Time.utc(2020, 10, 15, 5) } # Sets a "permanent" cookie (which expires in 20 years from now). cookies.permanent[:login] = "XJ-122"
[...]
Symbole opcji ustawiania plików cookie to:
:expires
- Czas, w którym ten plik cookie wygasa, jako obiekt Time lub ActiveSupport::Duration.[...]
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-12-11 16:56:31
Twoje pytanie może być związane z tym pytaniem: Jak dynamicznie ustawić czas wygaśnięcia sesji opartej na plikach cookie w Rails
Jeden z komentarzy wskazuje na :
Mam nadzieję, że to pomoże. :)"..Jeśli chcesz ustawić okres ważności do sesji za pośrednictwem wszystkich kontrolerów w aplikacji wystarczy dodać following option to your config/intializers / session_store.rb plik:
:expire_after => 60.minutes
Jeśli chcesz ustawić inny wygaśnięcie time in different kontrolerów lub akcji, użyj następujący kod w działaniu lub jakiś before_filter:
request.session_options = request.session_options.dup request.session_options[:expire_after]= 5.minutes request.session_options.freeze
Duplikacja hasha jest potrzebna tylko ponieważ jest już zamrożony w tym punkt, mimo że modyfikacja at najmniej: expire_after jest możliwe i działa bez zarzutu..."
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:02:12
Warto zauważyć, że w tej chwili nie można ustawić czasu rozpoczęcia pliku cookie. Zestaw plików cookie jest zawsze aktywny natychmiast.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-29 16:39:49