Last updated: 1st November 2017
There are a lot of people who wish to get started with Ruby and Rails, but don’t know where to start. I hope that this post will serve as a guide for those people.
Operating Systems
Windows
People try to develop Ruby and Ruby on Rails apps on Windows and they struggle with it. You can try developing on it, but know that it’s going to be more painful than the other options (Linux or Mac).
It’s for this reason that I recommend installing Ubuntu in a VM (using VirtualBox) on your Windows PC if you’re in that environment.
Ubuntu
Once you’ve got Ubuntu setup, you can follow my Ubuntu, Ruby, ruby-install, chruby, Rails and You guide which will setup a proper development environment for you on Ubuntu.
Don’t install Ruby packages from apt
. That way lies pain and suffering.
Mac
If you’re on Mac, you can follow my Mac OS X, Ruby, ruby-instlal, chruby and You guide. Install ruby-install, chruby as per that guide, and then you can install Homebrew, and then install PostgreSQL by running this command:
brew install postgresql
Or MySQL with this:
brew install mysql
Getting started with Ruby
Code School
FREE
Code School’s Ruby videos are a great introduction to Ruby and I would certainly recommend them to anyone who wants to get started with learning Ruby.
The Ruby Koans
FREE
Your environment is now setup and now you’re wondering where to go from here. I always recommend the Ruby Koans which, as their site says:
The Koans walk you along the path to enlightenment in order to learn Ruby. The goal is to learn the Ruby language, syntax, structure, and some common functions and libraries. We also teach you culture. Testing is not just something we pay lip service to, but something we live. It is essential in your quest to learn and do great things in the language.
The Koans are a fantastic introduction to Ruby and if I had my way, it’d be where all newbies started to learn. I encourage anyone who attempts these to pause once in a while and think about why a certain method or syntax works the way it does.
You don’t have to complete them all, just try your best. It’s time I admitted: I’ve never actually completed the Koans myself. One day I might.
The Well-Grounded Rubyist
PAID
If a book is more your style, then The Well-Grounded Rubyist is the one that I would recommend. The very first version of this book (Ruby for Rails) is what I learned Ruby from. I don’t link to it here because it was out of date when I read it and that makes it even more out of date now.
Learn Ruby the Hard Way
Free online
Learn Ruby the Hard Way gives a
non-nonsense introduction to Ruby, taking you from puts
all the way up to a
web-based game in over 50 exercises.
Practical Object-Oriented Design in Ruby (POODR)
PAID
The POODR book by Sandi Metz is one of my favourite Ruby books and gives some great examples of how to write excellent Ruby code in an easy-to-read style. Sandi Metz’s conference talks are also wonderful watching.
99 Bottles
PAID
The 99 Bottles book also by Sandi Metz and Katrina Owen gives some great advice on how to reorganise code without going too far.
Getting started with Rails
Rails 4 in Action
PAID
It’d be remiss of me to not mention my own book, Rails 4 in Action in this section. In the book, we build a ticket-tracking application from the ground up using Behaviour Driven Development. We cover things like nested resources, authentication, building an API and deployment.
Thousands of people have found it to be a great introduction to Rails, and some people have even gotten Rails jobs after having read it.
Rails Tutorial
FREE
If you don’t want to shell out the money for my book (and why not?!), then the free Rails Tutorial is the next-best-thing. In that tutorial, you build a Twitter-like application from scratch.
More reading / viewing / listening
Before you go ahead and read this list, you should take some time to go through the resources above and gain a basic understanding of Ruby + Rails. Consider these supplementary to the above list.
Books
Screencasts
- Ruby Tapas - Bite sized screencasts about Ruby
- Daily Drip - Bite sized screencasts about Rails
If you think of anything that should be added to this post, please leave a comment.