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.
Download and install the MySQL 5.0 Community Server
Configure the server according to the MySQL documentation, including entering a root password.
Start the server.
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.
With this task, you will deploy the books application to the GlassFish v3 Gem. You can alternatively deploy it to your regular Enterprise Server using directory-based deployment, as described in Deploying a Rails Application as a Directory.
Go to <JRUBY_HOME>/samples/books.
Deploy the application to the GlassFish v3 Gem by running the following command:
jruby -S glassfish_rails books
Run the application in your web browser using the following URL:
http://localhost:3000/books
The opening page says “Listing books” and has an empty table, meaning that there are no book records in the database yet. To add book records to the table, do the next step.
Add records to the table by clicking the New book link on the index.html page.
Enter the data for book on the new.html page and click Create.