Ruby on Rails 101

This course material is written by makzan.

Here is the notes for my course Ruby on Rails 101 in Macao. You may check the source code on the github page.

Chapter 1

  1. Ruby basics
  2. Installing rails

Chapter 2

Chapter 3

  1. Managing gems
  2. View helper
  3. Model association

Chapter 4

In the chapter, we further explore the model association and the we learn how to do file upload in rails.

  1. Rails console
  2. Lab – Adding category
  3. Uploading files

Chapter 5

In this chapter, we will build a photo gallery with management.

  1. Setting up the project
  2. Building the photo model
  3. Building the photo controller and view
  4. Using Partial View
  5. Dynamic title with content_for
  6. Adding album resource
  7. Associate photo to album
  8. Introducing asset pipeline

Chapter 6

In this chapter, we will add user model to the photo gallery.

  1. Managing asset files
  2. Creating gallery home page
  3. Adding swipeJS library
  4. Building gallery website layout
  5. Installing devise gem
  6. Authenitcating user
  7. Protecting upload
  8. Challenges

Chapter 7

In the chapter, we are going to take a look on the JSON output and also introducing the Behavior-driven development, BDD, approach.

  1. Introducing jbuilder
  2. Using jbuilder
  3. Extracting view code to helpers
  4. Partial json views
  5. Introducing behavior-driven development
  6. Installing cucumber for rails
  7. Writing our first feature
  8. Writing the user authentication component
  9. Writing the photo upload component
  10. What’s Next

Note: This course outline is designed to introduce test-driven development in later stage instead of early stage. I believe this will reduce the getting start barrier.

Chapter 8

In the chapter, we are going to translate our rails app into multi-lingual.

And then we will discuss several deployment approaches.

  1. Multilingual
  2. Adding chinese
  3. Switching locale
  4. Pow local server
  5. Mobile devices testing via local network
  6. Deployment database-config
  7. Introducing git
  8. Lab – “Try Git”
  9. Apply git to our project
  10. Push git to server repo
  11. Deploying options


In the tutorial, we will create a tasks management tool.

  1. Tutorial 1 – Task management
  2. Tutorial 2 – Multiple Lists
  3. Tutorial 3 – Misc Enhancement
overlaied image when clicked on thumbnail