Ruby on Rails is one of the world’s most popular web application frameworks—and with good reason: it’s relatively easy to learn, extremely powerful, and mercifully well-documented. It also has a robust (some would say fanatical) community of developers who share knowledge and collaborate through online forums and at workshops around the world.
So whether you’re a non-programmer looking to build a new skill to use at work, a career-changer hoping to start a new job as a web developer, or an experienced programmer wanting to add another weapon to your arsenal, learning Rails can be a great choice.
We’ve rounded up some of the best resources, both online and off, for learning Ruby on Rails (RoR), whether you’re a complete beginner or a seasoned programmer.
If you’re a complete beginner looking to go from zero to fully-deployed web app in a single course, there are several well-established web-based options to explore.
The online learning platform Udemy has a complete, 38-lecture course entitled “Learn Ruby on Rails from Scratch.” The best part? It’s free. If you’re just getting started, and don’t have a lot of programming experience, this is a great place to begin—the course takes things slow and doesn’t require much in the way of background knowledge, except for a little bit of HTML.
Since it’s self-paced (and free), you can move through it as quickly or as slowly as you like.
Another online option is Codecademy’s “Learn Ruby on Rails” course. This one’s not free—the site is largely aimed at people who are looking to invest in their professional skills or train for a new career—so you’ll need Codecademy’s “pro” plan to complete the course. However, at around $20 per month, it’s pretty reasonable, especially considering what you get.
And since the learning is almost entirely project-based, at the end of the course you’ll have your own portfolio of web apps to show off to to prospective employers. With millions of active users driving a lively discussion forum on the site, Codecademy’s other big benefit is that you can reach out to fellow students during the course if you ever get stuck on an exercise.
Slightly more traditionally academic in approach, but excellent in terms of quality and support, Coursera runs a full suite of six courses taught by Johns Hopkins University professors. It’s called the “Ruby on Rails Web Development Specialization”, a 6-month track that involves both lecture material and project-based learning.
It’s also the most expensive of the three online options previewed here, at $49 a month. But if you liked school when you were a kid, are serious about becoming a web developer, and have the money to spend, it might be just what you’re looking for!
Books and videos
4. Ruby on Rails Tutorial
If you’re an avid reader, and are comfortable with self-study, Michael Hartl’s Ruby on Rails Tutorial is one of the most highly recommended books for learning RoR. It’s much more than a textbook, and like the offerings above offers a range of exercises and projects, so the learning is very “hands-on”.
The book is also fairly comprehensive, so if you’ve already got some development experience, even in Ruby on Rails, the tutorial can serve as a useful reference guide or as a way to get into more advanced topics.
RailsCasts is a gigantic collection of videos that covers a wide array of topics in RoR development. Although the creators are no longer making new material, it’s still an invaluable repository of Rails wisdom—especially if you want to take a deeper dive on a particular topic or if you just need to get something done quickly.
A similar site—but still coming out with new screencasts every week, is GoRails. Like RailsCasts, it might not be ideal for an absolute beginner, but if you want to learn more about specific topics in Rails, or if you have a thorny problem to solve that other resources don’t seem to have the answer to, GoRails is definitely worth a look, either on their website or their YouTube channel.
Ruby for a cause
7. The Odin Project
Another great Rails tutorial can be found at The Odin Project. The site combines the project-based learning of online giants like Codecademy and Coursera with the ideals of the open source software movement. The site is focused on serving people who want to work as programmers, but who never had access to a traditional computer science course of study, either for financial or personal reasons.
The content is free and high quality—and there’s a small but passionate user forum on the site that creates a real sense of community. And since the site is aimed at people who need a full suite of development skills to break into professional web development, there are also plenty of other modules that teach more than just Rails (there’s even one on job interviews!).
8. Rails Girls
A unique entry in this list is “Rails Girls”, publishers of the “Rails Girls Guides”. Founded in Finland, but now a worldwide community, Rails Girls is a non-profit aimed at helping women learn about technology and programming, with a focus on, you guessed it, Ruby on Rails. More than just a series of online tutorials, there are also local Rails Girls chapters and events around the world—one look at their map app can help you find the nearest location.
Back to basics
One of the beauties of Ruby on Rails is that it lets you get into full-fledged web development without all that much background in computer science. And a lot of people who come to Rails take full advantage of that fact—diving into the deep end, so to speak, right at the very beginning.
But as you get more and more immersed in the wonderful world of RoR, you may find yourself wondering how, exactly, Rails works its magic! And to understand this, you may want to take a closer look at the underlying programming language that Rails is built on: Ruby.
There are lots of resources for learning the Ruby language itself, but a couple stand out as particularly worthy of mention.
9. Learn Ruby the Hard Way
The first is Zed Shaw’s classic “Learn Ruby the Hard Way.” Available for free online, this complete course in Ruby lives up to its name: it’s designed to force you to figure out exactly HOW and WHY Ruby does what it does—and, if your code isn’t working, to hunt down the cause.
If you’re willing to put up with some frustration, you’ll be rewarded with a much deeper understanding of the foundation language of Rails—as well as a new approach to tackling programming problems.
10. The Well-Grounded Rubyist
Also excellent is Black and Leo’s “The Well-Grounded Rubyist”. This book starts with the most basic topics in Ruby and moves all the way through to the advanced. It’s a good way to deepen your understanding the Ruby language, whether you’ve just finished your first Rails course or you’ve already deployed a dozen web apps.
And beyond that, it’s a useful reference as well. You can read portions of the book online at the publisher’s website.
The best way to learn?
So that’s it—10 great resources for learning Ruby on Rails, whatever your level of programming knowledge. So which one is best?
Easy answer: the one you’ll actually do.
Learning to make web apps is best done by—wait for it—making web apps.
Any of the tutorials or books above can help you do that…but only if you actually take action.
Unfortunately, a lot of would-be web devs suffer from “paralysis by analysis” and spend all their time deliberating over which book to read or which course to take.
But the most effective way to learn is to just pick a resource above that looks good—and start making cool stuff with it.