Ruby on Rails is a very popular and relatively young web framework that allows developers to spin up web apps extremely quickly. As a result, it’s become extremely popular with startups and the market for Rails developers has exploded over the last several years.
If you found your way here, you likely already know a bit about Rails and why you want to learn it. Before we go any further though, it’s worth quickly mentioning the difference between Ruby and Ruby on Rails for those unaware.
Ruby is a programming language first released in the mid-90’s that most people find to be extremely easy to learn and fun to code with. Ruby on Rails (sometimes just called Rails) is a web framework that is built upon Ruby that adds a lot of functionality for building a web app. It’s important to keep in mind these are two separate things.
The Best Books for Learning Rails
Assuming you know at least the basics of Ruby at this point (Treehouse has an excellent course called Learn Ruby from Scratch), you’re probably ready for some new teaching material that will take your Ruby on Rails to the next level.
These are some books that I have personally used over the past several years to learn Rails and I entirely endorse them as great learning tools.
Ruby on Rails Tutorial
Ruby on Rails Tutorial by Michael Hartl is the one book I would suggest to someone making their very first Rails app. This book will guide you start-to-finish on making a Twitter-clone web app. Through this process you’ll learn everything you need to build your own application from setting up your own development environment to pushing your application public to a Heroku server. Even if you don’t have Ruby experience, I think you’ll do just fine starting out with this book.
The Rails 5 Way
The Rails 5 Way (coming out this October, but you can buy The Rails 4 Way if you don’t want to wait) from Obie Fernandez is the one book I’d recommend all Rails developers have at their desks as a daily reference guide. The Rails Way series doesn’t simply touch on every aspect of Rails development, it offers practical, helpful examples of the best practices you should be using in your own applications.
While you can certainly find your way to some working code examples by searching Google or StackOverflow, by utilizing The Rails Way I’ve found much better quality answers with awesome explanations leading to a better understanding of not just how to get things working, but why this is the best way to do it.
Practical Object-Oriented Design in Ruby
While this isn’t a Rails book, I would highly recommend this book to anyone looking to take their Ruby code to the next level or has aspirations of creating a more complex web application. It shows you how to implement the best practices for object-oriented programming with Ruby, but this will actually improve the way your think about programming design in general. Even if you go on to work primarily with other programming languages in the future, the concepts you learn in Practical Object-Oriented Design in Ruby will benefit you for the rest of your career.