This TOTD (Tip Of The Day) shows how to install Rails 2.0.x in JRuby 1.0.3 and JRuby 1.1 RC1. Then it describes how a simple Rails application can be created and deployed using WEBrick.
First, lets deal with installing Rails 2.0.x in JRuby 1.0.3 and JRuby 1.1 RC1.
Step 1: How to install Rails 2.0.x in JRuby 1.0.3 ?
- Download and Unzip JRuby
1.0.3. This creates "
jruby-1.0.3" directory. - Install Rails by giving the following command in the newly
created directory:
bin/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
Step 2: How to install Rails 2.0.x in JRuby 1.1RC1?
- Download and Unzip JRuby
1.1 RC1. This creates "
jruby-1.1RC1" directory. - Install Rails by giving the following command in the newly
created directory:
bin/jruby -S gem install rails --no-ri --no-rdoc
Updating metadata for 632 gems from http://gems.rubyforge.org
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
........................................................................
complete
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
Successfully installed rails-2.0.2
6 gems installed
Step 3: How to create and deploy a trivial Rails app ?
Once Rails is installed in JRuby 1.x, then the steps to develop and deploy a simple application are exactly same and given below:jruby -S rails --database mysql hellocd hello
jruby script/generate controller say hellovi app/controllers/say_controller.rband updating the "
hello" helper method to look
like:def hello
@hello_string = "Hello from Rail 2.0.2!!"
endvi app/views/say/hello.html.erband adding the following line at the end:
<%= @hello_string %>config.frameworks
-= [ :active_record, :action_mailer ]" in "config/environment.rb".
Follow the steps below if you prefer configuring the database:sudo /usr/local/mysql/bin/mysqld_safe --user root
Starting mysqld daemon with databases from /usr/local/mysql/datajruby -S rake db:createjruby script/server
=> Booting WEBrick...
=> Rails application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options
[2008-02-05 23:35:02] INFO WEBrick 1.3.1
[2008-02-05 23:35:02] INFO ruby 1.8.5 (2007-12-15) [java]
[2008-02-05 23:35:02] INFO WEBrick::HTTPServer#start:
pid=13446204 port=3000
The application is now accessible at
http://localhost:3000/say/hello.
Accessing the application shows the following output in console:127.0.0.1 - - [05/Feb/2008:23:35:31 PST] "GET
/say/hello HTTP/1.1" 200 89
- -> /say/hello
127.0.0.1 - - [05/Feb/2008:23:35:32 PST] "GET /say/hello HTTP/1.1" 200
89
- -> /say/hello
127.0.0.1 - - [05/Feb/2008:23:35:32 PST] "GET /say/hello HTTP/1.1" 200
89
- -> /say/hello=> Booting WEBrick...
=> Rails application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options
[2008-02-05 23:37:43] INFO WEBrick 1.3.1
[2008-02-05 23:37:43] INFO ruby 1.8.6 (2008-01-07) [java]
[2008-02-05 23:37:43] INFO WEBrick::HTTPServer#start:
pid=2533 port=3000
Note, that even though the application was created using JRuby 1.0.3, it can be easily invoked using JRuby 1.1RC1 because they are using the same Rails version. Accessing the application in this case shows the following output:
127.0.0.1 - - [05/Feb/2008:23:37:51 PST] "GET /say/hello HTTP/1.1" 200
89
- -> /say/helloPlease leave suggestions on other TOTD that you'd like to see. A complete archive is available here.
Technorati: totd rubyonrails jruby mysql webrick