link_to_remote :with hash

I found myself doing a lot of long :with strings with link_to_remote when passing multiple parameters from the page by dom ids. This strings are really easy to mess up so I added a behavior to link_to_remote that allows me to pass a hash to the :with parameter like this ->

link_to_remote "click me",   :url => {:action => 'some_action'},   :with => {:parameter => :some_dom_id,     :another_parameter => :another_dom_id,     "a[hash][parameter]" => :dom_id_3}

I added this to environment.rb

ActionView::Helpers::PrototypeHelper.class_eval do   def link_to_remote_with_with_hash(text, args)     if Hash == args[:with].class       args[:with] = "'" << args[:with].collect{|var, val|           "#{var}=' + encodeURIComponent($('#{val}').value)"         }.inject{|str, el|           str << " + '&#{el}"         }     end     link_to_remote_without_with_hash(text, args)   end   alias_method_chain :link_to_remote, :with_hash end

Just thought I'd share it.

Hi Julian,

That's interesting. You should do a write-up. Maybe on the wiki, or in a blog.

Best regards, Bill

julian wrote: