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.

1b0ab2500efc1b91424fb49045312929?s=128

Yos Riady

May 12, 2015
Tweet

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