9.5. Adding a Sprinkle of Ajax

To add a sprinkle of Ajax to the blog example, you are going to allow your users to comment without reloading the page. The first thing that you need to do is to include the default JavaScript libraries that ship with Rails. Do this by modifying the articles.html.erb layout within the <head> tag as shown here:

<head>
  <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
  <title>The Rails Noob</title>
  <%= auto_discovery_link_tag :atom, formatted_articles_url(:atom) %>
  <%= stylesheet_link_tag 'site' %>
  <%= javascript_include_tag :defaults %>
</head>

The javascript_include_tag is a helper used to include JavaScript libraries. When used in a layout, it makes these libraries available to all of the view templates for which the layout applies. You can pass it the names (with or without extension) of JavaScript files located in public\javascripts and these will be included on each page for which the layout was rendered. In the highlighted line I used the :defaults symbol, which tells Rails to include both Prototype and script.aculo.us, as well as application.js in public\javascripts, if it exists. Passing :all will include all the JavaScript files in that directory and its subdirectories. In production, it is usually a good idea to cache all the JavaScript files into a single all.js file. This is done automatically for you by passing the :cache => true option to the helper, and will work as long as ActionController::Base.perform_caching is ...

Get Ruby on Rails® for Microsoft Developers 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.