Skip to main content

New in Rails: Resource Scaffold Generator

·214 words·2 mins· ·
General RubyOnRails Features
Ariejan de Vroom
Author
Ariejan de Vroom
Jack of all Trades, Professional Software Craftsman

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!

Related

“Print this page” with Ruby on Rails
·302 words·2 mins
General Everything RubyOnRails Features
Rails: Group results by week (using group_by)
·393 words·2 mins
General Everything RubyOnRails Features
Textmate+Rails: Easy partials for better code
·603 words·3 mins
General Everything RubyOnRails Features Textmate