There are several examples on the Internet (e.g. http://techoctave.com/c7/posts/32-create-an-rss-feed-in-rails ) that show how to create a good RSS feed using Builder. The canonical template looks something like this:
xml.instruct! :xml, :version => "1.0" xml.rss :version => "2.0" do xml.channel do xml.title "Your Blog Title" xml.description "A blog about software and chocolate" xml.link posts_url for post in @posts xml.item do xml.title post.title xml.description post.content xml.pubDate post.posted_at.to_s(:rfc822) xml.link post_url(post) xml.guid post_url(post) end end end
This works fine in Rails 3.0.7. In Rails 3.1 Edge, every command seems to produce ...
Rendered home/index.rss.builder (25.2ms) Completed 500 Internal Server Error in 875ms ActionView::Template::Error (wrong number of arguments (1 for 0)): 1: xml.instruct!(:xml, :encoding => "UTF-8") 2: 3: xml.rss :version => "2.0" do 4: xml.channel do app/views/home/index.rss.builder:1:in `_app_views_home_index_rss_builder___2123990471_2215695900' app/controllers/home_controller.rb:17:in `index' app/controllers/home_controller.rb:11:in `index'
source share