A Brief Guide To Learning Ruby on Rails

I was tasked to compile a brief yet comprehensive guide to help newbies learn Ruby on Rails at 10Pearls, and I came up with this. I haven’t spent much time on it, though I feel this will help people save some time wandering the internet when looking for quality Ruby on Rails resources.

Introduction

This is a training manual designed to put together all the resources required to learn Ruby on Rails at your own pace. The resources listed in this manual are according to my current best judgement, you can suggest anything you think I’ve missed which can be a good addition to this manual.

What is Ruby?

Before we ride on Rails, let us recapitulate a few points of Ruby, which is the base of Rails.

Ruby is the successful combination of −

  • Smalltalk’s conceptual elegance.
  • Python’s ease of use and learning.
  • Perl’s pragmatism.

Ruby is −

  • A high-level programming language.
  • Interpreted like Perl, Python, Tcl/TK.
  • Object-oriented like Smalltalk, Eiffel, Ada, Java.

Reference: https://www.tutorialspoint.com/ruby-on-rails/rails-introduction.html

What is Rails?

Rails is a web application development framework written in the Ruby language. It is designed to make programming web applications easier by making assumptions about what every developer needs to get started. It allows you to write less code while accomplishing more than many other languages and frameworks. Experienced Rails developers also report that it makes web application development more fun.

Rails is opinionated software. It makes the assumption that there is a “best” way to do things, and it’s designed to encourage that way — and in some cases to discourage alternatives. If you learn “The Rails Way” you’ll probably discover a tremendous increase in productivity. If you persist in bringing old habits from other languages to your Rails development, and trying to use patterns you learned elsewhere, you may have a less happy experience.

Reference: http://guides.rubyonrails.org/getting_started.html

Ruby on Rails Introduction

Learning to build a modern web application is daunting. Ruby on Rails makes it much easier and more fun. It includes everything you need to build fantastic applications, and you can learn it with the support of our large, friendly community.

You’ve probably already used many of the applications that were built with Ruby on Rails: Basecamp, GitHub, Shopify, Airbnb, Twitch, SoundCloud, Hulu, Zendesk, Square, Highrise, Cookpad. Those are just some of the big names, but there are literally hundreds of thousands of applications built with the framework since its release in 2004.

Optimizing for programmer happiness with Convention over Configuration is how we roll. Ruby on Rails has been popularizing both concepts along with a variety of other controversial points since the beginning. To learn more about why Rails is so different from many other web-application frameworks and paradigms, examine The Rails Doctrine.

Reference: http://rubyonrails.org/

Philosophy

The Rails philosophy includes two major guiding principles:

  • Don’t Repeat Yourself: DRY is a principle of software development which states that “Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.” By not writing the same information over and over again, our code is more maintainable, more extensible, and less buggy.
  • Convention Over Configuration: Rails has opinions about the best way to do many things in a web application, and defaults to this set of conventions, rather than require that you specify minutiae through endless configuration files.

Reference: http://guides.rubyonrails.org/getting_started.html

Installation Guide

There’s a free course too on installing Ruby you might want to have a look at: Installing Ruby

Official Guides

Tutorials

It is recommended that you obtain at least a basic understanding of Ruby before jumping into Rails, as it’s based on Ruby, getting some familiarity with syntax will surely help.

List of Free Books

Ruby:

  1. A community-driven Ruby style guide
  2. CodeCademy Ruby
  3. Developing Games With Ruby
  4. I Love Ruby
  5. Introduction to Programming with Ruby
  6. Just Enough Ruby to Get By
  7. Learn Ruby First
  8. Learn Ruby the Hard Way
  9. Learn to Program
  10. Mr. Neighborly’s Humble Little Ruby Book
  11. Object Oriented Programming with Ruby
  12. Practicing Ruby
  13. Programming Ruby
  14. Ruby Essentials
  15. Ruby Hacking Guide
  16. Ruby in Twenty Minutes
  17. Ruby Koans
  18. Ruby Learning
  19. Ruby Programming
  20. Ruby User’s Guide
  21. Ruby Web Dev: The Other Way
  22. The Bastards Book of Ruby
  23. The Unofficial Ruby Usage Guide (at Google) — Ian Macdonald
  24. Why’s (Poignant) Guide to Ruby

Reference: https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books.md#ruby

Ruby on Rails:

  1. A community-driven Rails style guide
  2. Building REST APIs with Rails
  3. Kestrels, Quirky Birds, and Hopeless Egocentricity
  4. Learn Ruby on Rails as You Modify a Craigslist Clone
  5. Objects on Rails
  6. Rails Girls Guides
  7. Ruby on Rails 3.2 — Step by Step
  8. Ruby on Rails 4.0 Guide
  9. Ruby on Rails Guides
  10. Ruby on Rails Tutorial (Rails 5): Learn Web Development with Rails — Michael Hartl
  11. Upgrading to Rails 4

Reference: https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books.md#ruby-on-rails

Style Guides

Additional Resources

Screencasts:

  1. Go Rails
  2. RailsCasts
  3. Drifting Ruby

Free Courses:

  1. edX — Agile Development Using Ruby on Rails
  2. Udemy — Ruby on Rails a Beginners Guide
  3. Udemy — Learn Ruby on Rails from Scratch
  4. CodeCademy — Learn Ruby on Rails

Paid Courses:

  1. Udemy — The Complete Ruby on Rails Developer Course
  2. Coursera — Ruby on Rails Web Development Specialization
  3. Lynda — Ruby on Rails Training and Tutorials
  4. Team Tree House — Rails Development
  5. ONE MONTH RAILS

Tutorials I Have Written:

Tutorial Sites:

You can get recipes to do a lot of the thing on tutorial sites, and even some pre-baked goodies. It’s a good idea to keep an eye on them.

You can subscribe to Ruby Weekly, a free newsletter which lists all Ruby and Rails articles/tutorials published anywhere on the web.