9.3. Adding an RSS and Atom Feed

Responding to a request for a given resource in XML format is usually done without the need for a Builder template. For example, in the ArticlesController you had:

respond_to do |format|
  format.html # index.html.erb
  format.xml  { render :xml => @articles }
end

The highlighted line will invoke the to_xml method and render the collection of Article objects in the default XML representation. In this case, @articles will contain only one record because you set the pagination to one article per page. Reaching for /articles.xml will provide the following (depending on your content, of course):

<?xml version="1.0" encoding="UTF-8"?>
<articles type="array">
  <article>
    <body>Hi there!

If you don't know what %{color:red}Rails% is, you can read more about it on the
"official website":http://rubyonrails.org and then buy Antonio Cangiano's
book. It's *highly recommended*. ;-)

By the way, did you know that Ruby on Rails(TM) is a trademark of &quot;David
Heinemeier Hansson":http://loudthinking.com?</book>
    <created-at type="datetime">2008-07-16T18:56:33-04:00</created-at>
    <id type="integer">4</id>

    <published type="boolean">true</published>
    <published-at type="datetime">2008-07-19T23:52:00-04:00</published-at>
    <title>Oh hi!</title>
    <updated-at type="datetime">2008-07-17T12:21:48-04:00</updated-at>
  </article>
</articles>

A great example of when this approach is not sufficient is the publication of an RSS (from version 2.0 this stands for Really Simple Syndication) ...

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.