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.
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.
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.
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.
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.
There’s a free course too on installing Ruby you might want to have a look at: Installing Ruby
- Ruby Doc: https://www.ruby-lang.org/en/documentation/
- Ruby on Rails Guide: http://guides.rubyonrails.org/
- Ruby on Rails API Doc: http://api.rubyonrails.org/
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.
- Official Rails Tutorial: http://guides.rubyonrails.org/getting_started.html
- Tutorials Point — Ruby Tutorial: https://www.tutorialspoint.com/ruby/
- Ruby Lang — Ruby in Twenty Minutes: https://www.ruby-lang.org/en/documentation/quickstart/
List of Free Books
- A community-driven Ruby style guide
- CodeCademy Ruby
- Developing Games With Ruby
- I Love Ruby
- Introduction to Programming with Ruby
- Just Enough Ruby to Get By
- Learn Ruby First
- Learn Ruby the Hard Way
- Learn to Program
- Mr. Neighborly’s Humble Little Ruby Book
- Object Oriented Programming with Ruby
- Practicing Ruby
- Programming Ruby
- Ruby Essentials
- Ruby Hacking Guide
- Ruby in Twenty Minutes
- Ruby Koans
- Ruby Learning
- Ruby Programming
- Ruby User’s Guide
- Ruby Web Dev: The Other Way
- The Bastards Book of Ruby
- The Unofficial Ruby Usage Guide (at Google) — Ian Macdonald
- Why’s (Poignant) Guide to Ruby
Ruby on Rails:
- A community-driven Rails style guide
- Building REST APIs with Rails
- Kestrels, Quirky Birds, and Hopeless Egocentricity
- Learn Ruby on Rails as You Modify a Craigslist Clone
- Objects on Rails
- Rails Girls Guides
- Ruby on Rails 3.2 — Step by Step
- Ruby on Rails 4.0 Guide
- Ruby on Rails Guides
- Ruby on Rails Tutorial (Rails 5): Learn Web Development with Rails — Michael Hartl
- Upgrading to Rails 4
- edX — Agile Development Using Ruby on Rails
- Udemy — Ruby on Rails a Beginners Guide
- Udemy — Learn Ruby on Rails from Scratch
- CodeCademy — Learn Ruby on Rails
- Udemy — The Complete Ruby on Rails Developer Course
- Coursera — Ruby on Rails Web Development Specialization
- Lynda — Ruby on Rails Training and Tutorials
- Team Tree House — Rails Development
- ONE MONTH RAILS
Tutorials I Have Written:
- 10 Ruby on Rails Best Practices
- Continuous Deployment of Rails with SemaphoreCI
- Deliver the Mail with Amazon SES and Rails
- Quick Tip: DRY Up Your Model Validations Tests
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.