我在运行Sinatra的Web应用程序中使用Cookie时遇到了很多麻烦。
我目前正在设置Cookie:
response.set_cookie(:id, :value => id, :domain => "XX.XXX.XXX.XXX", :expires => Time.now + 86400000)
其中域是Web应用程序的IP地址(暂时没有适当的域)。这正确地设置了cookie,因为我可以在我的网络浏览器的cookie中找到cookie并且值是正确的。
但是,我无法读取cookie。如果我写:
id = request.cookies[:id]
然后id变为空值。
是否有我遗漏的东西(例如我应该注意哪些设置)?我怎样才能让它发挥作用?
所有帮助将不胜感激。提前谢谢。
答案 0 :(得分:2)
好的,我设法搞清楚了。我没有设置路径,因此它不适用于不同的URL。
我发现这解决了我的问题:
response.set_cookie(:id, :value => id, :domain => "XX.XXX.XXX.XXX", :path => "/", :expires => Time.now + 86400000)