Forum: Ruby on Rails how to pass a hash as a parameter in link_to_remote

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
8217faf2bfdfa7daf10135d41ddd421e?d=identicon&s=25 Jeff Cohen (jeff)
on 2006-04-19 20:32
When using link_to_remote, I'd like to pass along some auxiliary data in
the request.  It's a hash of dynamic data that can change with each
request.

But I get an error when rails trying to "stringify" the hash.

For the regular link_to, it works because it turns the hash into a
regular GET-like query string.

I'm expecting to be able to get my hash as

params[:myhash] # => my hash data

inside my controller action, but this only works for link_to, not
link_to_remote.

My workaround was to write my own helper method to convert the hash into
a querystring-looking string, and then to de-stringify inside the
controller.

But I feel like I must be reinventing the wheel.  What's the correct way
to pass a hash to my controller in an ajax call?

Thanks!
Jeff
A4a8fefcbd2cd6d2370609a5e2a3a389?d=identicon&s=25 Rob Merrell (Guest)
on 2006-04-20 01:13
(Received via mailing list)
Jeff,
     I recently saw the same sort of discussion on the Utah Ruby User
Group
list.  Here's a link for the start of the tread.  Just follow it through
and
hopefully you can find your answer.

http://comox.textdrive.com/pipermail/talk/2006-Apr...

Rob
78e0c90cd6fd5a044f16545611308b46?d=identicon&s=25 Brian Eng (Guest)
on 2006-04-20 17:47
Thanks for the link Rob.  That's exactly what I needed.

For those interested, the best answer seems to be (from Jamis) to base64
your hash, and decode it later.

   string = Base64.encode64(Marshal.dump(hash)).strip
   hash   = Marshal.load(Base64.decode64(string))

Brian
softiesonrails.com
This topic is locked and can not be replied to.