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