1.12. Rails and Ajax

Ajax is an acronym for Asynchronous JavaScript and XML. A primary characteristic of using Ajax is increased responsiveness and interactivity of webpages by allowing “behind the scenes” interaction with the web server. This is intended to increase the webpage’s interactivity, speed, functionality, and usability.

Rails includes the Prototype JavaScript framework (see http://www.prototypejs.org) and the Scriptaculous JavaScript controls and visual effects library (http://script.aculo.us). If you wish to use these libraries and their helpers (ActionView::Helpers::PrototypeHelper and ActionView::Helpers::ScriptaculousHelper), you must do one of the following:

Use <%= javascript_include_tag :defaults %> in the HEAD section of your page (recommended)

This function will return references to the JavaScript files created by the Rails command in your public/javascripts directory. Using it is recommended, as the browser can then cache the libraries instead of fetching all the functions anew on every request.

Use <%= javascript_include_tag 'prototype' %>

As above, but will only include the Prototype core library, which means you are able to use all basic Ajax functionality. For the Scriptaculous-based JavaScript helpers, like visual effects, autocompletion, drag and drop, and so on, you should use the method described above.

Use <%= define_javascript_functions %>

This will copy all the JavaScript support functions within a single script block. Not recommended.

1.12.1. JavaScriptHelper ...

Get Rails Pocket Reference now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.