February 20, 2008

TOTD #28: Getting Started with Rails 2.0 Scaffold

Categories: totd, web2.0

Rails 2.0 changes the way Scaffold works. This blog walks you through the steps to create a simple CRUD application using Scaffold in Rails 2.0.

  1. Download & Install JRuby 1.1 RC2.
  2. Install Rails using the following command:

    jruby -S gem install rails

  3. Create a new Rails app using the following command:

    cd samples; mkdir rails; cd rails
    jruby -S rails books -d mysql

  4. Start MySQL server in a different shell using the following command:

    sudo /usr/local/mysql/bin/mysqld_safe --console

  5. Creat the database using the following command:

    cd books
    jruby -S rake db:create

    This creates the database defined by RAILS_ENV (Development is default). Here are some other new database-related commands:

    db:create:all Create all the databases (_Development, _Test, _Production)
    db:drop Drops your database
    db:reset Drop and Re-create your database, including migrations
  6. Generate a scaffold using the following command:

    jruby script/generate scaffold book title:string author:string isbn:string description:text

    The output of the command looks like:

          exists  app/models/
          exists  app/controllers/
          exists  app/helpers/
          create  app/views/books
          exists  app/views/layouts/
          exists  test/functional/
          exists  test/unit/
          create  app/views/books/index.html.erb
          create  app/views/books/show.html.erb
          create  app/views/books/new.html.erb
          create  app/views/books/edit.html.erb
          create  app/views/layouts/books.html.erb
          create  public/stylesheets/scaffold.css
      dependency  model
          exists    app/models/
          exists    test/unit/
          exists    test/fixtures/
          create    app/models/book.rb
          create    test/unit/book_test.rb
          create    test/fixtures/books.yml
          create    db/migrate
          create    db/migrate/001_create_books.rb
          create  app/controllers/books_controller.rb
          create  test/functional/books_controller_test.rb
          create  app/helpers/books_helper.rb
          route  map.resources :books

    There is no need to create the model explicitly as was the case in previous version of Rails. This creates the “db/migrate/001_create_books.rb” migration which looks like:

    class CreateBooks < ActiveRecord::Migration
      def self.up
        create_table :books do |t|
          t.string :title
          t.string :author
          t.string :isbn
          t.text :description

          t.timestamps
        end
      end

      def self.down
        drop_table :books
      end
    end

  7. Create the database tables using the following command:

    jruby -S rake db:migrate

  8. Deploy the application on WEBrick using the following command:

    jruby script/server

    The application is now available at “http://localhost:3000/books” and looks like:

    Rails2 CRUD Blank Page

  9. Click on “New book” to see a page as shown below (with values entered):

    Rails2 CRUD New Entry
    Click on Create button. After 2 entries have been entered, it looks like as shown below:

    Rails 2 CRUD Multiple Entries

That’s it, you’ve created  a simple Rails 2.0 CRUD application.

You can also deploy this application easily on GlassFish v3 gem. Just follow the instructions here and enjoy!

I’ll post a follow up blog where this is much more simplifed using NetBeans 6.1 builds where JRuby 1.1 and Rails 2.0.2 are already integrated.

Technorati: totd ruby jruby rubyonrails rails2 scaffold crud netbeans glassfish v3 gem

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot
Related posts:
  1. TOTD #111: Rails Scaffold for a pre-existing table using Oracle and GlassFish
  2. TOTD #110: JRuby on Rails application using Oracle on GlassFish
  3. Getting Started with Edge Rails (2.2) using JRuby and GlassFish
  4. TOTD #37: SQLite3 with Ruby-on-Rails on GlassFish Gem
  5. TOTD #24: Getting Started with Rails 2.0.x in JRuby 1.0.3 and JRuby 1.1RC1

4 Comments »

  1. [Trackback] Pramod announced the release of GlassFish v3 Gem ver 0.1.2. The focus of this release is bugfixes: IssueTracker #4228: Duplicate entries for Scaffold generated by Rails 2.0.2 IssueTracker #3966: Blank page returned if no Rails instance is available Ru…

    Comment by Arun Gupta's Blog — March 13, 2008 @ 8:23 pm

  2. [Trackback] JRuby 1.1 is released and ready for production use today. You can unleash the potential in 3 simple steps – download, unzip &amp; get started. Here is a quote from the announcement: more and more reports of applications exceeding Ruby…

    Comment by Arun Gupta's Blog — April 9, 2008 @ 9:02 am

  3. [Trackback] Rails 2.1 was released earlier this month. GlassFish provides a complete development/deployment environment for Rails applications. Some of the main reasons for using GlassFish (instead of WEBrick or Mongrel) are: Identical Development and Deployment …

    Comment by Arun Gupta's Blog — June 19, 2008 @ 6:46 am

  4. [Trackback] GlassFish Gem can easily run both Rails and Merb application. Using JRuby, as opposed to MRI, allows you to use standard Java monitoring framework and tools. Java Management Extensions (JMX) is a standard management and monitoring solution for Java…

    Comment by Arun Gupta's Blog — January 7, 2009 @ 9:17 am

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress
57833 visits from Sep 11, 2009