Title: Ruby on Rails
1Ruby on Rails
- Pei-Ying Wang
- peiatw_at_sfsu.edu
- Overview
- What is Ruby on Rails?
- Rails frameworks (components)
- Example simple web application
- Pros and Cons
2What is Ruby on Rails?
- Ruby ? Ruby on Rails
- An open source, interpreted scripting language
- Created by Yukihiro Matsumoto in the mid-1990s
- Ruby on Rails, ROR or Rails
- An full-stack, open source web application
framework written in Ruby - Designed for writing database-oriented real-world
Web application quickly and easily - Created by David Heinemeier Hansson
3What is Ruby on Rails?(2)
- Very short history
- Extracted from Basecamp(a project-management tool
by 37Signals) - First released July 2004
- Latest release April 2006(Version 1.1.2)
- Principles(DRY-Dont Repeat Yourself)
- Less software
- Convention over Configuration
4Rails Frameworks(components)
5Example a simple web application
After starting MySQL and Web server, Create a new
web application called cookbook2
gt Rails cookbook2
6Example a simple web application(2)
To make a simple Hello World application
gt ruby script\generate controller MyTest
class MyTestController lt ApplicationController end
7Example a simple web application(3)
To make a simple Hello World application(2)
class MyTestController lt ApplicationController de
f index render_text "Hello World" end end
http//localhost3000/My_Test/index http//localho
st3000//My_Test http//localhost3000/MyTest
8Example a simple web application(4)
- Online Recipe
- First, create an database called cookbook2 and a
table called recipes
9Example a simple web application(5)
gt ruby script\generate model Recipe
10Example a simple web application(6)
gt ruby script\generate controller Recipe
Magic happens by simply adding this line to
recipe_controller.rb ! ?Open browser and go
to http//localhost3000/recipe/new
11Example a simple web application(7)
Now, you can start to populate the database
12Example a simple web application(8)
13Example a simple web application(9)
- Take over the handling of the list action from
the scaffolding
Step1
- Add a list method in the file recipe_controller.r
b
14Example a simple web application(10)
lthtmlgt ltheadgt lttitlegtAll Recipeslt/titlegt lt/headgt lt
bodygt lth1gtOnline Cookbook - All
Recipeslt/h1gt lttable border"1"gt lttrgt lttd
width"80"gtltp align"center"gtltigtltbgtRecipelt/bgtlt/igt
lt/tdgt lttd width"20"gtltp align"center"gtltigtltbgtDat
elt/bgtlt/igtlt/tdgt lt/trgt lt _at_recipes.each do
recipe gt lttrgt lttdgtlt link_to recipe.title,
action gt "show", id gt recipe.id gtlt/tdgt
lttdgtlt recipe.date gtlt/tdgt lt/trgt lt end
gt lt/tablegt ltpgtlt link_to "Create new recipe",
action gt "new" gtlt/pgt lt/bodygt lt/htmlgt
Step2
- Add a new file called list.rhtml under
app/views/receipe - .rhtml an html file with Ruby code embedded
within - lt gt and
- lt gt tags
15Example a simple web application(11)
Step3
- Ask the recipe class for a collection of all
recipes from the DB and assign the collection to
the instance variable _at_recipes
16Example a simple web application(12)
Done!
http//localhost3000/recipe/list
17Pros and Cons
- pros
- Less code
- High productivity reduced development time
- cons
- too young
- Upgrades in foundational code may result in
instability in Rails - Relies on a foundation of numerous other
applications
18Reference
- Russel Kay QUICK STUDY Ruby on Rails.
Computerworld, 11/28/2005, Vol. 39 Issue 48,
pg26-26 - David Geer Will Software Developers Rid Ruby on
Rails to Success? Computer, Feb2006, Vol. 39
Issue 2, pg18-20 - Stacy Cowley Riding the ruby rails in a new
direction CRN. Jericho Mar 13,
2006., Issue 1187 pg. 43 - Grant Buckler Application developers climb
aboard Ruby on Rails Computing
Canada. Willowdale Aug 19, 2005.Vol.31, Issue 11
pg. 6 - Daniel Bogan Get on track with ruby on rails
http//www.sitepoint.com/article/ruby-on-rails - Curt HibbsWhat Is Ruby on Rails?
http//www.onlamp.com/lpt/a/6251 - Bill Walton Rolling with Ruby on InstantRails
http//instantrails.rubyforge.org/tutorial/index.h
tml - Curt Hibbs Rolling with Ruby on Rails, Part 2
http//www.onlamp.com/lpt/a/5641 - Curt Hibbs Ajax on Rails http//www.onlamp.com/lp
t/a/5944 - http//en.wikipedia.org/wiki/Ruby_On_Rails
- http//www.rubyonrails.com/