One of the main functions of Rails is to make a quick-and-easy task
of creating an application that accesses a database. This section shows you
the steps to create a simple application that accesses a book database using MySQLTM. It is assumed that you have already installed JRuby 1.1.4,
Rails 2.1.1, and the required Gems.
-
Go to the <JRUBY_HOME>/samples directory
of your JRuby 1.1.4 installation.
-
Create the books application template so that
it is configured to use the MySQL database:
jruby -S rails books -d mysql
-
Go to the books directory you just created.
-
Open the config/database.yml file in a text
editor.
-
When prompted, enter your MySQL root password under the development
heading in the database.yml file.
-
Go back to the books directory if you are not
already there.
-
Create the database by running the following command:
jruby -S rake db:create
After the database creation is complete, you should see output similar
to the following:
** Execute db:create
The rake command invokes the Rake tool. The Rake
tool builds applications by running Rake files, which are written in Ruby
and provide instructions for building applications.
-
Create the scaffold and the Book model for
the application:
jruby script/generate scaffold book title:string
author:string isbn:string description:text
When you run the script/generate command you specify
the name of the model, the names of the columns, and the types for the data
contained in the columns.
A scaffold is the set of code that Rails generates to handle database
operations for a model object, which is Book in this case.
The scaffold consists of a controller and some views that allow users to perform
the basic operations on a database, such as viewing the data, adding new records,
and editing records. Rails also creates the model object when generating the
scaffold.
-
Create the database tables:
jruby -S rake db:migrate
When Rails is finished creating the tables, you should see output similar
to the following:
CreateBooks: migrated (0.1322ms) =========
If you need to reset the database later, you can run jruby —S
rake db:reset.