Outputting a rails url to javascript

Hi,

I'm working on a rails/google maps app, where makers on the map show 'places'. I would like to be able to put a link into each marker's infowindow that will take the user to the 'show' action for that place (ie. /places/[place_id]), and am looking for ways to output the appropriate url so it can be incorporated into my /public/javascripts/ map.js file. I'm using json to output the latititude, longitude, name etc of each place to the map...is there a way to extend this to urls?

Any help would be much appreciated, thanks in advance!

FYI: Rails 3beta4, Ruby 1.8.7 and using jQuery with my map.

Tig wrote:

Hi,

I'm working on a rails/google maps app, where makers on the map show 'places'. I would like to be able to put a link into each marker's infowindow that will take the user to the 'show' action for that place (ie. /places/[place_id]), and am looking for ways to output the appropriate url so it can be incorporated into my /public/javascripts/ map.js file. I'm using json to output the latititude, longitude, name etc of each place to the map...is there a way to extend this to urls?

Of course! URLs are just strings. Stick 'em in the JSON packet with everything else.

Awesome, I hoped it would be that easy! Thanks for your help

Hi,

I'm struggling a bit to get an appropriate url to save - I've added a 'link' column to my 'places' table, and am populating the hidden form field automatically using @place.link = places_path(@place.id) in the 'new' action of the places controller. This seems to output just / places however - am I going about this the wrong way? I'm also struggling to incorporate the /places link I've exported to JSON into my javascript code...thanks for your help!

I've found a solution - instead of adding a 'link' column to my 'places' table, I can just use the place id value to create a link in my js file:

<a href='/places/"+place.id+"'>Show more!</a>"

Hope that sounds okay, it seems to work fine!

A minor observation: I suppose you are taking care of nil objects here: place.id. Otherwise the link will crash if "place" object is nil. I would propose doing something like:

place_id = place.id rescue "" # or you put your rescue sub-link here "<a href='/places/"+place_id+"'>Show more!</a>"

Regards,

Ceekays.