Thanks a lot Fred. I should have added: I am not using the Cookie Store, but ActionDispatch::Session::CacheStore (Dalli in my case). But I am not sure how it helps. Is there a way to tell which browser window / tab is making the request (via a unique ID)?
Thanks! PJ On Jan 3, 11:44 am, Frederick Cheung <[email protected]> wrote: > On Thursday, January 3, 2013 11:26:25 AM UTC, PierreW wrote: > > > Here is the situation: > > - the client makes a request > > - it is followed by AJAX polling > > > The server needs to keep track of some stuff during this process. > > > I have been using the Session and it "mostly" works… until the user > > decides to open another tab in her browser and she makes a new, > > parallel request. In this case, the data from the two requests is > > merged, which leads to bugs. > > Actually it's far more likely to be overwritten completely. > > > > > This got discussed quite a bit several years back, but I could not > > find any recent "recommended" solution to handle this. Does it exist? > > Personally i think this can't be solved with the cookie store: any given > request handler can't know what might have happened to the session in > another request. A long time ago i wrote a database backed session store > that tried to handle this gracefully (smart_session_store). As long as the > different actions were using different keys in the session it worked fine. > If you need more sophisticated merging behaviour I would suggest that the > session isn't the write data store for you > > Fred > > > > > > > > > I read in this article (http://stackoverflow.com/questions/7570255/ > > rails-store-unique-data-for-each-open-tab-window<http://stackoverflow.com/questions/7570255/rails-store-unique-data-fo...>) > > that an option could > > be to prefix the URLs, but it seems quite complicated to me. > > > Thanks a lot! > > PJ -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

