Skip to main content

JRuby 1.0.3 + Rails 2.0 Hello World - Additional Steps Required

Posted by arungupta on December 21, 2007 at 11:18 AM PST



JRuby 1.0.3
was href="http://docs.codehaus.org/display/JRUBY/2007/12/15/JRuby+1.0.3+Released">recently
released and so was href="http://weblog.rubyonrails.org/2007/12/7/rails-2-0-it-s-done">Rails
2.0. I decided to try JRuby 1.0.3 + Rails 2.0 and realized
that a few additional steps (because of Rails 2.0) are required to get
a trivial Hello World
applcation up and running. Here are the steps:


  1. Unzip href="http://dist.codehaus.org/jruby/jruby-bin-1.0.3.zip">JRuby
    1.0.3.
    1. Make sure to set JAVA_HOME and JRUBY_HOME.
    2. Also include JAVA_HOME/bin and JRUBY_HOME/bin in PATH for
      convenience.
  2. Install Rails
    2.0
    as shown below:



    ~/samples/jruby arungupta$ jruby -S gem install rails
    --include-dependencies --no-ri --no-rdoc

    Bulk updating Gem source index for: http://gems.rubyforge.org

    Successfully
    installed rails-2.0.2

    Successfully installed activesupport-2.0.2

    Successfully installed activerecord-2.0.2

    Successfully installed actionpack-2.0.2

    Successfully installed actionmailer-2.0.2

    Successfully installed activeresource-2.0.2
  3. Create a simple app using the following steps
    1. Create a template app as:



      jruby -S rails --database mysql hello or
      jruby -S rails -d mysql hello



      It's important to specify --database mysql
      otherwise Rails 2.0 uses href="http://weblog.rubyonrails.org/2007/12/17/rails-2-0-2-some-new-defaults-and-a-few-fixes">sqlite3
      as the default database.
    2. Add a Controller and View as:



      cd hello

      jruby script/generate controller say hello
    3. Edit the controller as:



      vi app/controllers/say_controller.rb



      and add the following variable in "hello" helper method:



      @hello_string = ""
    4. Edit the View as:



      vi app/views/say/hello.html.erb



      and add the following as last line:



      <%= @hello_string %>




      Notice, the view extension is .html.erb
      instead of .rhtml.
  4. Download, Install and Configure MySQL (additional step for
    Rails 2.0)
    1. Mac OS comes pre-installed with MySQL in /usr/local/mysql
      directory. Start the server as:



      sudo ./bin/mysqld_safe



      Alternatively, you can download and install href="http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.45-osx10.4-i686.dmg/from/pick">MySQL
      Universal server (only .dmg format, not tar.gz format as
      specified href="http://dev.mysql.com/doc/refman/5.0/en/mac-os-x-installation.html">here).
    2. Create a database as:



      sudo ./bin/mysqladmin create hello_development
  5. Start the WEBrick server (in hello directory) as:



    jruby script/server

That's it, now your trivial Hello World
application is deployed using JRuby 1.0.3 + Rails 2.0 and displays the
output in a browser window as:



 alt="JRuby 1.0.3 + Rails 2.0 Hello World"
src="http://blogs.sun.com/arungupta/resource/images/jruby103-rails2-helloworld.png">




Want to try this application on href="http://blogs.sun.com/arungupta/entry/announcing_glassfish_gem_for_rails">GlassFish
v3 gem ( href="http://download.java.net/maven/glassfish/com/sun/enterprise/glassfish/glassfish-gem/10.0-SNAPSHOT/glassfish-gem-10.0-SNAPSHOT.gem">download
or href="http://blogs.sun.com/arungupta/entry/totd_18_how_to_build1">build
your own - now down to 2.4 MB) ?



Technorati: ruby
jruby href="http://technorati.com/tag/rails">rails href="http://technorati.com/tag/mysql">mysql href="http://technorati.com/tag/glassfish">glassfish
v3
gem

Related Topics >>