Как мне установить cookie-файлы Rails, чтобы они начинались и / или заканчивались в определенный день?
Выдержки из документации по Rails 5 :
Файлы cookie считываются и записываются через файлы cookie ActionController #. Считываемые файлы cookie - это файлы, полученные вместе с запросом; записанные файлы cookie будут отправлены вместе с ответом. Чтение куки не возвращает сам объект куки, только значение, которое он содержит. Примеры написания: # 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" [...] Опциональные символы для установки куки: :expires - время истечения срока действия этого файла cookie в виде объекта Time или ActiveSupport :: Duration. [...]
Файлы cookie считываются и записываются через файлы cookie ActionController #.
Считываемые файлы cookie - это файлы, полученные вместе с запросом; записанные файлы cookie будут отправлены вместе с ответом. Чтение куки не возвращает сам объект куки, только значение, которое он содержит.
Примеры написания:
# 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"
[...]
Опциональные символы для установки куки:
:expires
Ваш вопрос может быть связан с этим вопросом: Как динамически установить время истечения для сеанса на основе файлов cookie в Rails
один из комментариев указывает на Устаревшие слайд-сессии :
".. Если вам нужно установить срок действия для сеансов через все контроллеры в вашем приложении просто добавьте следующий вариант к вашему конфиг / инициализаторы / session_store.rb Файл: :expire_after => 60.minutes Если вам нужно установить разные Время истечения в разных контроллеры или действия, используйте следующий код в действии или некоторые before_filter: request.session_options = request.session_options.dup request.session_options[:expire_after]= 5.minutes request.session_options.freeze Нужно только дублирование хеша потому что это уже заморожено точка, хотя модификация в минимум: expire_after возможен и работает без нареканий ... "
".. Если вам нужно установить срок действия для сеансов через все контроллеры в вашем приложении просто добавьте следующий вариант к вашему конфиг / инициализаторы / session_store.rb Файл:
:expire_after => 60.minutes
Если вам нужно установить разные Время истечения в разных контроллеры или действия, используйте следующий код в действии или некоторые before_filter:
request.session_options = request.session_options.dup request.session_options[:expire_after]= 5.minutes request.session_options.freeze
Нужно только дублирование хеша потому что это уже заморожено точка, хотя модификация в минимум: expire_after возможен и работает без нареканий ... "
Надеюсь, это поможет. :)
Стоит отметить, что на данный момент невозможно установить время начала для куки. Набор файлов cookie всегда активен немедленно.