Chapter 6. Ajax

A few years ago, the Rails support for Ajax was revolutionary. Now, good Ajax support is expected from any web framework. Ajax is a technique for building web pages that are more interactive and dynamic. To use it, you’ll use JavaScript libraries to communicate with the server at any time, and the web page need not be frozen while waiting for a response. Rails will simplify Ajax by using helpers to generate JavaScript code, so that in the typical case, you won’t use JavaScript at all.

Ajax applications have a few major differences from typical web apps. First, any web page can communicate with the server at any time, and not just by submitting forms and following links. Second, you can update any part of a page at any time. Users get a more responsive site with immediate feedback. Even though using Ajax techniques usually requires significantly more sophisticated design and implementation skills, the benefits to the end user are so great that Ajax-enabled web applications are becoming the rule, not the exception. Fortunately, Rails makes Ajax so simple that, for typical cases, using Ajax is almost as easy as not using it.

How Rails Implements Ajax

Rails has a simple, consistent model for how it implements Ajax operations. Once the browser renders the initial web page, different user actions cause it to display a new web page (like any traditional web application) or trigger an Ajax operation:

Some trigger fires

This trigger could be the user clicking on a button ...

Get Rails: Up and Running, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.