Other Pages

Expand All

Intro To Rails


To teach you Ruby on Rails we are going to use a "Real World" example. You've decided to create a voting system for you and your friends to play with. You've decided at a minimum, you'd like to allow users to:

  • view the topics sorted by number of votes
  • vote on topics
  • create, edit, and destroy topics

You've sketched up an initial screenshot of what you want it to look like:

Browser window with topic titles that can be voted on, ordered by number of votes


When you have completed today's goal of getting the basic application online you should understand:

  • Basic Ruby syntax
  • How to try your Ruby code (irb)
  • How to go from requirements to a new working Rails application
  • How to get your application online
  • The basic tools a RoR developer uses (source control, editor, console, local server)


  • 1-ish hour of ruby
  • 4-ish hours of rails, broken up in 1-ish hour steps

This is just a rough guideline, not a mandate. Some steps you'll go over and some you'll go under. It'll all work out by the end of the day... unless I really screwed something up. :D


We're going to be working with:

  • ruby 2.5.0
  • rails 5.1.5
  • bundler
  • sqlite
  • sublime text 3 or the text editor of your choice

Everything should be set up the night before during our install-fest. Please ensure you have everything working before you show up for RailsBridge on Saturday.

You can verify that you have everything working by trying this out in your terminal:

$ cd ~/Desktop/railsbridge
$ vagrant up
$ vagrant ssh
$ irb
>> 1 + 2
=> 3
>> require "active_support"
=> true
>> exit

On Cloud9:

$ irb
>> 1 + 2
=> 3
>> require "active_support"
=> true
>> exit

If you can do that, you are probably good to go.

Working Effectively and Efficiently

We highly recommend you do the following:

  • Bring up your terminal and open 2 tabs (Windows users, open two instances of Git Bash):
    • Connect to your virtual machine in both of them.
    • One is for regular terminal stuffs
    • One will be for the Rails console. We'll explain later.
  • Open your browser fresh or hide any windows you already have open.
    • Bring up one window with two tabs
    • One for this content
    • One for interacting with your app.
  • Open your text editor and do not ever close it. We're not quitters.
  • Hide all extra applications. Turn off Twitter, IM, and all other distractions.

By minimizing the number of things you interact with, you reduce the amount of time spent switching between them and the context lost as you work through the lessons. Having 50 tabs open in your web browser gets confusing and wastes time.


Each lesson will look like this:

Step Title


Description of the current step.

Red because big goals are scary.


steps to take.
def code_to_write
  1 + 1

Yellow because we've gotten it done, but we have no clue what's going on.


Details of what the steps actually did... spell out the cause and effect.

Green because we can tie everything together now.

Next Step: