我需要为我的Sinatra应用程序使用cookie。如果我使用最简单的方法是有效的:
response.set_cookie('my_cookie', 'value_of_cookie')
但我需要一些选项,例如域名和过期日期,所以我试试这个:
response.set_cookie("my_cookie", {:value => 'value_of_cookie', :domain => myDomain, :path => myPath, :expires => Date.new})
不起作用。没有cookie。我非常需要这个......
请帮忙......谢谢!
答案 0 :(得分:17)
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”