New in Rails: Resource Scaffold Generator
23 Jan, 2007
2 minute read

Oh boy! Rails 1.2 is all about resources. A product entry in your application is not just a rendered HTML page, but it “is” data. Rails 1.2 allows you to add a .xml extension to your url to retrieve the same product information in XML format!

Now, this all sounds hard. Two ways of rendering the same action depending on an extension. Generating XML code for every model in your database. No way you want to spend time developing all that stuff.

Well, Rails wouldn’t be Rails if there weren’t a generator for it!

This example is really easy. I want to create products in my database and expose them as HTML and XML to my users. Just do the following:

$ ./script/generate scaffold_resource Product title:string description:text

A migration is generated automatically so update that if you want to before running

$ rake db:migrate

As you can see in config/routes.rb, Rails has automatically generated routes for this resource!

map.resource :products

Now you can start up your Rails app and access http://localhost:8000/products. Add some products if you like. Now if you got to http://localhost:8000/products/1 you a nice HTML scaffold. If you add .xml: http://localhost:8000/products/1.xml you’ll get nice XML!

Well, writing a seperate desktop application that retrieves informatin from your web application just got 100x easier!

If you're seeing this message you've probably enabled some form of adblocker. I respect that.

I use this space to show recommended books on Amazon.com in relation to the post you just read. This generates a small income that allows me to buy a book every now and then.