I don't want it in the session, because each browser window should have it's own settings. I want to add it at the application level and not have to visit each action to add it on.
The main purpose I have for this is to implement a kind of slimmed down theme if the site is visited via a special URL (because it's embedded in a frame). However, I don't want to use a cookie because if the user visits the site normally then this should show the full theme. I might have also a similar use for some "cache busting" URLs where I need to make a page slightly different for some reason, eg admin logged in, adding "?admin=1" or something trivial to the URL makes it easier to bust the caching so that this page is different to the standard URL
What's the easiest way to implement this so that the param remains in place (sticky) for each URL (once set the first time)
Cookies will be your friend here.
I don't see how I can use a cookie which affects only one browser window, but not one in the tab next door? I would actually quite like to know how to do this for other reasons, eg open up a second browser window and log in as a different user without affecting the user I logged in as on a different browser window...
Here's a snippet of where I do the exact same thing. You have to use
or add your 'sticky_params' hash to your options hash on all the
link_to methods on that page.
If you use it all over the place you could probably extend the link_to
method in a better way to directly access a params hash in your
controller that is always appended to your options hash.