Last updated 4 May 2012
Recommended Ruby on Rails tutorials for beginners learning Rails.
Follow @rails_apps on Twitter for updates and timely Rails tips.
Not all Rails tutorials are alike or suitable for everyone.
Do you prefer to read a book, watch a video, learn from interactive lessons online, or study an example application?
Do you already use a modern web application platform such as PHP, Java, or Microsoft .NET? Have you built static websites with HTML and CSS? Do you have a programmer’s text editor and a terminal application on your desktop? Do you need to learn to program?
Are you planning to launch a web startup? Do you intend to seek employment as a Rails developer or as a freelancer? Are you a hobbyist with a personal project to build? Are you a manager in an enterprise who will be hiring or outsourcing to skilled Rails developers?
Michael Hartl’s Ruby on Rails Tutorial: Learn Rails by Example is the most comprehensive Rails tutorial available. It is the Rails tutorial that is most often recommended by experienced Rails developers. It is available as a book for free online and is available for purchase as a 500+ page PDF optimized for e-readers such as Kindle and iPad. The first edition was accompanied by a library of screencasts 15 hours in duration with one lesson for each chapter of the book. Purchasers of the second edition get access to the new screencasts as they’re produced, as well as the first edition in its entirety. The author keeps the book up-to-date, covering Rails 3.2 and Ruby 1.9, Twitter Bootstrap and the new asset pipeline, and testing with Capybara & RSpec in the second edition.
If you intend to work as a Rails developer, or you wish to build a Rails web application, you must read this book. No other introduction to Rails is as complete, as thorough, or as accessible to beginners.
Here’s the drawbacks. Working your way through the book can take weeks as a part-time project. If you try it as a full-time sprint, you’ll likely burn out before you are done. You’ll be studying as if you were in college and taking an intro-level course in sciences or engineering. You’ll build a complete and serviceable Rails application, learning the basics of each area of Rails development. However, when you are done, you may find it difficult to build your own Rails application from scratch, unless it is substantially similar to the example in the book.
Do you want to work as a Rails developer? Are you building an application for your personal use or a startup business? Get Hartl’s book and (depending on your learning style) supplement it with shorter tutorials, videos, interactive lessons, or example applications. Find ways to sample Rails development in smaller doses and compare the approaches for better comprehension.
If you’re a manager who wants to understand the work that Rails developers do, try a few introductory chapters and skim the rest of the book. You’ll have a good basis for communicating with your team.
If you’re just beginning to learn programming, this book will lead you step-by-step but it may be overwhelming and frustrating. Start with easier lessons first, such as interactive lessons online, or even better, live lessons with a mentor.
Here is a summary of recommended Ruby on Rails tutorials.
|RubyMonk||free browser-based interactive tutorial||C42 Engineering|
|Ruby on Rails Tutorial||book covers Rails 3.2, available for free online||Michael Hartl|
|Rails for Zombies||free tutorial with in-browser coding||Code School|
|Rails 3 In Action||book covers Rails 3.1||Yehuda Katz and Ryan Bigg|
|Agile Web Development with Rails||ebook covers Rails 3.2||Sam Ruby, Dave Thomas, and David Heinemeier Hansson|
|Learning BDD & TDD||Authors|
|The RSpec Book||covers RSpec and Cucumber||David Chelimsky and others|
|The Cucumber Book||covers Cucumber||Matt Wynne and Aslak Hellesøy|
|The Secret Ninja Cucumber Scrolls||free introduction to Cucumber||David de Florinier and Gojko Adzic|
|Tutorials with Example Apps|
|Rails 3.2 Tutorial: Devise, RSpec, Cucumber||Example App||Devise for authentication with ActiveRecord and SQLite for a database|
|Rails 3.2 Tutorial: Twitter Bootstrap, Devise, CanCan||Example App||Devise for authentication, CanCan for authorization, Twitter Bootstrap for CSS|
|Rails 3.2 Tutorial: Startup Prelaunch Signup||Example App||For a startup prelaunch signup site|
|Rails 3.2 Tutorial: Devise, Mongoid||Example App||Devise for authentication with a MongoDB datastore|
|Rails 3.2 Tutorial: OmniAuth, Mongoid||Example App||OmniAuth for authentication with a MongoDB datastore|
|Rails 3.2 Tutorial: Subdomains, Devise, Mongoid||Example App||Basecamp-style subdomains with Devise and MongoDB|
Want more? See an expanded list of Rails Examples, Tutorials, and Starter Apps.