Truong Vo
Software Engineer – Tech Propulsion Labs
http://www.techpropulsionlabs.com
truong.vo@techpropulsionlabs.com
 What is Ruby on Rails?
 The MVC Architecture
 REST
 Demos
 Learning Resources
 Questions
 Ruby is a object-oriented and dynamic
  programming language
 Rails is a web development framework
  written in the Ruby language
 Open Source and Free


 Focused on developer productivity and
 getting the job done – fast!
1.   http://localhost:3000/projects/1
2.   Routing finds Project Controller               1
3.   Controller interacts with model                             Browser
4.   Controller invokes view       Routing
5.   Render next browser screen         2

                                     Project
                                      Project
                                   Controller
                                    Controller                   5


                                   3         4

                       Active Record
                       Active Record                Display
                                                    Display
      Database
      Database             Model
                           Model                 Project View
                                                  Project View
 REpresentational State Transfer
  describes resources (in our case URLs) on which
   we can perform actions
 Create, Read, Update, Delete (CRUD)
HTTP verb   URL                controller   action    used for

GET         /projects          Projects     index     display a list of all projects


                                                      return an HTML form for creating a new
GET         /projects/new      Projects     new
                                                      project

POST        /projects          Projects     create    create a new project

GET         /projects/1        Projects     show      display a specific project


GET         /projects/1/edit   Projects     edit      return an HTML form for editing a project


PUT         /projects/1        Projects     update    update a specific project

DELETE      /projects/1        Projects     destroy   delete a specific project
ProTracker
Keep up with the Trend



   Books – the theory
     Agile Web Development with Rails: from basic to
      intermediate
     The Rails Way: deep and broad
     Programming Ruby: good reference not for learning
     Ruby for Rails: most thorough and deep Ruby book. Not
      quite easy to read
   Books – learn from these others
     Practical Rails Project
     Rails Recipes, Advance Rails Recipes: can be used as
      reference to specific problems
     Building Dynamic Web 2.0 Websites with Ruby on Rails
Keep up with the Trend


 http://guides.rubyonrails.org
 http://railscasts.com/ - best free Ruby on Rails
  Screencasts
 github.com: when doing something, good
  idea to try to find on github. Large change is
  someone already done.
 Wiki/Google Group (global/per project)…

      Rails change so fast, need to get up-to-date
       Build your old resource and share to others
Questions ?

Ruby on Rails Intro

  • 1.
    Truong Vo Software Engineer– Tech Propulsion Labs http://www.techpropulsionlabs.com truong.vo@techpropulsionlabs.com
  • 2.
     What isRuby on Rails?  The MVC Architecture  REST  Demos  Learning Resources  Questions
  • 3.
     Ruby isa object-oriented and dynamic programming language  Rails is a web development framework written in the Ruby language  Open Source and Free  Focused on developer productivity and getting the job done – fast!
  • 4.
    1. http://localhost:3000/projects/1 2. Routing finds Project Controller 1 3. Controller interacts with model Browser 4. Controller invokes view Routing 5. Render next browser screen 2 Project Project Controller Controller 5 3 4 Active Record Active Record Display Display Database Database Model Model Project View Project View
  • 5.
     REpresentational StateTransfer  describes resources (in our case URLs) on which we can perform actions  Create, Read, Update, Delete (CRUD)
  • 6.
    HTTP verb URL controller action used for GET /projects Projects index display a list of all projects return an HTML form for creating a new GET /projects/new Projects new project POST /projects Projects create create a new project GET /projects/1 Projects show display a specific project GET /projects/1/edit Projects edit return an HTML form for editing a project PUT /projects/1 Projects update update a specific project DELETE /projects/1 Projects destroy delete a specific project
  • 7.
  • 8.
    Keep up withthe Trend  Books – the theory  Agile Web Development with Rails: from basic to intermediate  The Rails Way: deep and broad  Programming Ruby: good reference not for learning  Ruby for Rails: most thorough and deep Ruby book. Not quite easy to read  Books – learn from these others  Practical Rails Project  Rails Recipes, Advance Rails Recipes: can be used as reference to specific problems  Building Dynamic Web 2.0 Websites with Ruby on Rails
  • 9.
    Keep up withthe Trend  http://guides.rubyonrails.org  http://railscasts.com/ - best free Ruby on Rails Screencasts  github.com: when doing something, good idea to try to find on github. Large change is someone already done.  Wiki/Google Group (global/per project)… Rails change so fast, need to get up-to-date Build your old resource and share to others
  • 10.