O'Reilly logo

Ruby on Rails® for Microsoft Developers by Antonio Cangiano

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

5.2. Scaffolding and Migrations

You can get a head start on building your simple blog engine by employing the scaffold generator. The guiding idea behind scaffolding is that you can use it to obtain a basic CRUD application that displays and manipulates the data within a table, without having to write a single line of code (as briefly seen in Chapter 1). This then becomes a foundation that can be customized and which allows you to build a more complex application that looks and behaves the way you want it to.

As a bare minimum your blog will need to allow you to list, show, create, delete, and edit articles. For each article, you should keep track of its title (which is a string), body (which is a bunch of text), whether or not it is published already (so a Boolean) and its publication date and time. To translate this idea into an actual application, go ahead and run the following command:

C:\projects\blog> ruby script/generate scaffold article title:string body:text
published:boolean published_at:datetime

article is the resource, and the pairs title:string, body:text, published:boolean, and published_at:datetime specify its attributes and their data types.

The output of this command resembles the following (except that the exists lines have been removed for clarity):

create app/views/articles create app/views/articles/index.html.erb create app/views/articles/show.html.erb create app/views/articles/new.html.erb create app/views/articles/edit.html.erb create app/views/layouts/articles.html.erb ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required