Синатра - response.set_cookie не работает - PullRequest
12 голосов
/ 22 февраля 2011

Мне нужно использовать 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})

не работает.Печенье не сделано.Мне это так нужно ....

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

1 Ответ

17 голосов
/ 22 февраля 2011

В документации по http://sinatra -book.gittr.com / # cookies сказано, что следует использовать помощник set_cookie, но в более новых версиях Sinatra (по крайней мере, начиная с 1.2.0+ и, возможно, ранее),Вы должны использовать response.set_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 в качестве домена для ваших куки, потому что вам нужно установитьэто к "" или ЛОЖЬ

...