[ruby-on-rails] Rails 쿠키의 시작 날짜 및 만료 날짜 설정

특정 날짜에 시작 및 / 또는 만료되도록 Rails 쿠키를 설정하려면 어떻게해야합니까?



답변

Rails 5 문서 에서 발췌 :

쿠키는 ActionController # cookies를 통해 읽고 씁니다.

읽고있는 쿠키는 요청과 함께 수신 된 쿠키이며 작성중인 쿠키는 응답과 함께 전송됩니다. 쿠키를 읽는 것은 쿠키 객체 자체를 가져 오는 것이 아니라 보유하고있는 값만 가져옵니다.

쓰기의 예 :

# 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 -이 쿠키가 만료되는 시간 (Time 또는 ActiveSupport :: Duration 객체).

[…]


답변

귀하의 질문은 다음 질문과 관련이있을 수 있습니다.
Rails에서 쿠키 기반 세션의 만료 시간을 동적으로 설정하는 방법

주석 중 하나는 Deprecating SlideSessions를 가리 킵니다 .

“.. 애플리케이션의 모든 컨트롤러를 통해 세션의 만료 기간을 설정해야하는 경우 config / intializers / 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의 수정이 가능하고 완벽하게 작동하더라도 해시의 복제는 해당 시점에서 이미 동결 되었기 때문에 필요합니다 … “

도움이 되었기를 바랍니다. 🙂


답변

현재로서는 쿠키의 시작 시간을 설정하는 것이 불가능하다는 점에 주목할 가치가 있습니다. 쿠키 세트는 항상 즉시 활성화됩니다.


답변