Greg
2006-Aug-03 18:28 UTC
[Rails] Re: Calling/Executing javascript functions from controller
Greg wrote:> Is the "resizeMap" function in the controller helper? If so try: > > render :update do |page| > page.resizeMap > endTake a look here: http://lists.rubyonrails.org/pipermail/rails/2006-April/029919.html ... or Google "inline RJS". -- Posted via http://www.ruby-forum.com/.
Hey all, How can I call a javascript function from my controller? Is it possible to simply call a javascript function from directly in the controller WITHOUT needing an AJAX request to come through via link_to_remote or remote form? As an example I''ve tried: class RandomController < ApplicationController before_filter :login_required, :except => [:index, :initialize] def index @session[:mode] = ''view'' @map = GMap.new("map") render :update do |page| page.call("resizeMap") end @map.control_init(:large_map => true, :map_type => true) @map.center_zoom_init([38.539506, -121.757172],13) store_location end end This as expected does not work, it spits of the try{blah blah} catch stuff. Any help is greatly appreciated! Russ -- Posted via http://www.ruby-forum.com/.
Greg
2006-Aug-03 18:29 UTC
[Rails] Re: Calling/Executing javascript functions from controller
Is the "resizeMap" function in the controller helper? If so try: render :update do |page| page.resizeMap end -- Posted via http://www.ruby-forum.com/.
Russ
2006-Aug-04 19:54 UTC
[Rails] Re: Calling/Executing javascript functions from controller
Greg, Thanks for the suggestion - however I have tried this before and had the following problem: resizeMap() is a function in mapscript.js (an external js file) that is in the public/javascripts folder and included in the generated html page. The code uses the Ym4r plugin for Google Maps/Yahoo Maps in my controller i have: class RandomController < ApplicationController before_filter :login_required, :except => [:index, :initialize] def index @session[:mode] = ''view'' @map = GMap.new("map") render :update do |page| page.call("resizeMap") end @map.control_init(:large_map => true, :map_type => true) @map.center_zoom_init([38.539506, -121.757172],13) store_location end end But I end up with this as the output for the generated index.html: try { resizeMap(); } catch (e) { alert(''RJS error:\n\n'' + e.toString()); alert(''resizeMap();''); throw e } How can I actually call my javascript function and not end up with this? Thanks, Russ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060804/40e23215/attachment.html