I'm attempting to integrate JQuery into Rails 3. I've downloaded the rails.js file from http://github.com/rails/jquery-ujs and have included it in my app. I've also include JQuery.
But when I attempt to do a simple page.replace like so:
render :update do |page|
page.replace_html "my_div", :partial => "my_partial", :locals => {:mylocal => mylocal}
end
I get the following error thrown from the javascript executing:
RJS error:
TypeError: Element.update is not a function
Element.update("my_div", "mypartialdata");
Any ideas?
If it really is just the
Element.update
thing usingrender(:update)
in rails 3 with jQuery, this little js code snippet should do it:parsing this JS code should help. I've put it at the end of the
jquery_ujs.js
file.I figured out the problem. Apparently with JQuery, you cannot use the rails helpers like "replace_html" or "insert_html". You merely have to do page << "//Jquery code".
page.replace
will call prototype functionElement.update
. Have you got prototype included in your page?As others have said,
page.replace
, in rails 2, referencesElement.update
.If you want the same helpers available to you in Rails 3 with jQuery, check out jrails:
http://github.com/aaronchi/jrails
In case you want to use the
assert_select_rjs
test helpers in Rails 3, go grab the patched version here:https://github.com/theworkinggroup/jrails