Подтвердить что ты не робот

Sinatra - response.set_cookie не работает

Мне нужно использовать cookie для моего приложения Sinatra. Если я использую самый простой метод, это работает:

response.set_cookie('my_cookie', 'value_of_cookie')

но мне нужны некоторые параметры, такие как домен и дата истечения срока действия, поэтому я пробую это:

response.set_cookie("my_cookie", {:value => 'value_of_cookie', :domain => myDomain, :path => myPath, :expires => Date.new})

не работает. Нет печенья. Мне это нужно так много.

Пожалуйста, помогите... спасибо!

4b9b3361

Ответ 1

В документации по http://sinatra-book.gittr.com/#cookies говорится, что использовать помощник set_cookie, но в более новых версиях Sinatra (по крайней мере, от 1.2.0+ и возможно, раньше), вы должны использовать response.set_cookie для установки файлов cookie.

response.set_cookie("my_cookie", :value => "value_of_cookie",
                    :domain => myDomain,
                    :path => myPath,
                    :expires => Date.new(2020,1,1))
cookie = request.cookies["my_cookie"]

СУЩНОСТЬ

не устанавливайте localhost в качестве домена для ваших файлов cookie, потому что вам нужно установить его в "" или FALSE