Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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
Tweet

More Decks by Yos Riady

Other Decks in Programming

Transcript

  1. Ruby on Rails Yos Riady yosriady.com

  2. None
  3. goo.gl/waonpj

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

    (120 minutes) • QA (20 minutes)
  6. Introduction rubyonrails.org ruby-lang.org

  7. None
  8. Built On Rails

  9. None
  10. Ruby Language codecademy.com/en/tracks/ruby • Variables • Conditionals • Loops +

    Iterators • Blocks • Data Structures • Classes
  11. Installing Rails https://lite.nitrous.io

  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 = Time.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 • http://tryruby.org/ • http://guides.rubyonrails.org/ • http://docs.railsbridge.org/intro-to-rails/ • http://rails-4-0.railstutorial.org

    • http://www.codecademy.com/learn/learn-rails
  27. None
  28. Q&A Yos Riady yosriady.com

  29. None