Question

I've been having a lot of trouble getting cookies working with my web application running Sinatra.

I am currently setting the cookies with:

response.set_cookie(:id, :value => id, :domain => "XX.XXX.XXX.XXX", :expires => Time.now + 86400000)

where the domain is the IP address of the web app (no proper domain for now). This correctly sets the cookie because I can find the cookie in my web browser's cookies and the values are correct.

However, I can't read the cookie. If I write:

id = request.cookies[:id]

then id just becomes a null value.

Is there something I'm missing (for instance are there any settings I should be aware of)? How can I get this to work?

All help would be appreciated. Thanks in advance.

Was it helpful?

Solution

OK, I managed to figure it out. I wasn't setting the path so it wouldn't work across different URLs.

I found this fixed my problem:

response.set_cookie(:id, :value => id, :domain => "XX.XXX.XXX.XXX", :path => "/", :expires => Time.now + 86400000)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top