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 ...

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.