url_for: /action?key

Hi guys, I want to write a url that directs to

  /my_controller/my_action?flag

and not

  /my_controller/my_action?flag=1

or

  /my_controller/my_action?flag=

Is that possible with the Rails helpers?

Gareth

The short answer is no.

Query string generation is deep down in the routing code...

http://dev.rubyonrails.org/browser/trunk/actionpack/lib/ action_controller/routing.rb#L443

Having said that, if you want, you can put in your
ApplicationControler in application.rb the following method...

   def url_for ( options = {}, *params)      flag = options.key?(:flag) ? options.delete(:flag) : false      url = super(options, *params)      url << (flag ? "?flag" : "")      url    end

That overloads (...or monkeypatches, whatever!) the url_for
generation code for your application.

That is, provided that all parts of your app use @controller.send (:url_for, options, *params) to generate their URLs, or use the Rails
helpers who should do that uniformly.

-christos