Save 37% off PRO during our Black Friday Sale! »

Ruby on Rails Workshop

Ruby on Rails Workshop

Part of an introductory Ruby and Rails curriculum for more than 100 freshman students for a summer application development course (NUS Orbital) at the National University of Singapore.


Yos Riady

May 12, 2015


  1. Ruby on Rails Yos Riady

  2. None

  4. None
  5. Today’s Agenda • Intro to Ruby (40 minutes) • Rails

    (120 minutes) • QA (20 minutes)
  6. Introduction

  7. None
  8. Built On Rails

  9. None
  10. Ruby Language • Variables • Conditionals • Loops +

    Iterators • Blocks • Data Structures • Classes
  11. Installing Rails

  12. Creating a New Rails Application rails new myapp cd myapp

    bundle install rails server
  13. MVC Architecture

  14. Building a Static Site rails generate controller Pages home Now

    try and visit ‘/pages/home’. What do you see?
  15. None
  16. Building a Static Site Try adding a few more pages

    on your own. Remember, for each page: • Add a new route in routes.rb • Add a new action in PagesController.rb • Add a view .erb file
  17. Building a Static Site Try adding the following in your

    action: def home @now = end In your home.html.erb file, add: <%= @now %>
  18. Building a Dynamic Site At the core, most database driven

    web sites are the same. They need to store records and provide a way to do the following: • Create new records in the database • Read or show the records in the database • Update existing records • Destroy or delete records Because these 4 actions are so common, Rails includes the scaffold command to make creating them easier. rails generate scaffold Confession title:string body:text
  19. None
  20. None
  21. REST

  22. Let’s add comments to our application! Users can create Comments

    for a Confession, and have it visible under the Confession entry. How do we do this? Building a Dynamic Site
  23. What do we need? • A new Comment model •

    A new controller for Comments ◦ A ‘create’ action to save new Comments to the DB • A new route in routes.rb for ‘comments#create’ • A view form for users to write a Comment Building a Dynamic Site
  24. Building a Dynamic Site

  25. Hands-On

  26. Learning Resources • • • •

  27. None
  28. Q&A Yos Riady

  29. None