Ruby is rapidly becoming the preferred programming language for many developers. With that said, let's look at some of the best tutorials, videos and books to learn Ruby and Rails.
Beginner Resources
Just starting out with Ruby or Rails? Take your pick:
-

Ruby Programming Language
Ruby is… A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.
-

Getting Started with Rails
Install Rails, create an application, using databases, the principles of MVC and RESTful design – this is an essential resource for getting started with Rails and learning the best practices.
-

Creating a Weblog in 15 minutes with Rails 2
In 15 minutes, we go from scratch to complete weblog engine with comments, ajax, an ATOM feed, an XML and JSON API, tests, an administrative interface, and much more! We strongly advise that you sit down before starting this whirlwind tour. Your head may well be spinning at the end. Come along for the Ruby on Rails ride.
-

From CodeIgniter to Ruby on Rails: A Conversion
In this tutorial, you will learn the basics of Ruby and Rails through direct comparisons with your existing CodeIgniter and PHP knowledge.
-

Rails 2 From Scratch series
PeepCode sell very high-quality, useful screencasts covering most aspects of Rails. This 76 minute screencast teaches you the basics of Rails. If you've done PHP, ASP, Perl, or any other type of web development and want to learn Rails, this is the screencast for you.
Available in two parts, for $9 each. They are definitely worth the price. -

Ruby on Rails for Designers
Take a brief look into the world of Rails with this fantastic tutorial available here at Nettuts.
Ruby on Rails is an open-source web framework that's optimized for programmer happiness and sustainable productivity. It lets you write beautiful code by favoring convention over configuration. -

Learn Ruby on Rails from Scratch: Series
Ruby on Rails… by now most people have heard the hype about it. It promises more effective code, total object orientation, and true MVC architecture to say the least. As far as my own personal experience, it has been all that and more. The code is beautiful, easy to maintain, and edit. In a recent project I was working on, it took me less than 10 hours to do the application, as compared to at least double that if I was writing in PHP.
-

Using Ruby on Rails for Web Development on Mac OS X
This article introduces you to Ruby on Rails by building a trivial web application step by step. Consider it a ride on the express train—an overview of what Rails can do, including a look at features new to Rails 1.0. In the end you'll be better equipped to consider the advantages of powering your web application with Rails.
It's slightly dated, but the core techniques are still in use.
-

REST For Rails 2
Another screencast from PeepCode, available for $9. This screencast covers the basics of REST and walks through a simple application to show how REST routes work. You’ll learn about the magic that goes on behind the scenes and how you can design a REST application with confidence.
-

Rails for PHP Developers
If you're proficient with PHP, you already have the essential skills needed to build web applications. This site will present an ongoing discussion of techniques for learning Rails and Ruby from a PHP perspective.
-

TextMate for Rails 2
Yet another PeepCode screencast, this is an essential if you're developing Rails applications on a Mac. If you own a copy of TextMate but wish you were more familiar with the most frequently used keyboard shortcuts, this screencast will help orient you with what's possible.
As with all PeepCode resources, this is available for $9.
Advanced Resources
Already have a good footing with Ruby and Rails? Try these:
-

Railscasts
Every week Ryan Bates will host a new Railscasts episode featuring tips and tricks with Ruby on Rails. These screencasts are short and focus on one technique so you can quickly move on to applying it to your own project. The topics target the intermediate Rails developer, but beginners and experts will get something out of it as well.
Prefer text tutorials? Check out the next item: -

ASCIIcasts
Railscasts (above) is the #1 resource for quickly learning new Rails tricks. If you prefer text tutorials over video, ASCIIcasts is for you!
ASCIIcasts are detailed, illustrated text versions of each Railscast, each with a link to the original video. -

Rails Forum – Tutorials
A round-up of short tutorials covering a huge range of Rails techniques, from beginners advice and installation to debugging and tests.
-

Building a Forum From Scratch with Ruby on Rails
Today, we will be building a simple forum using Ruby on Rails, and we will be working up from the basics covering things like authentication and more advanced database techniques.
-

Envy Casts
Envycasts is the screencasting side of Rails Envy, a partnership between Gregg Pollack and Jason Seifer. However, not all the screencasts you'll see here are Rails related.
You'll find several fantastic video tutorials covering a number of Ruby techniques and best-practices, most available for only $9. -

Scaling Rails
Learn everything you need to know about Scaling your Rails app through 13 informative Screencasts produced by Gregg Pollack with the support of New Relic.
-

RSpec Series for Rails 2
This 55 minute screencast is the first of a 3-part series on RSpec. You'll learn how to install and configure RSpec. We'll walk through a simple project. Then we'll install RSpec in a Rails application and start writing examples for a simple model.
If Test::Unit doesn't make sense to you, or if you want to write better code, this is the place to start. -

Getting Started with RESTful Authentication in Rails
In this article, we will use restful_authentication to add a user system to a simple Rails application. This is great for those first starting out and need step-by-step directions for using this amazing plugin. At the end of the article, visitors will be able to create an account, reset their password, login, logout, and validate email addresses.
-

Rails 2.1 PDF
For over a year, Ryan Daigle has kept you informed on the latest updates to the Rails trunk. In this new 80-page PDF, Ryan discusses over a dozen new features in Rails 2.
Code snippets and examples show you how to use many new features in Rails 2. A section on deprecated features suggests third-party alternatives.
Available for $9 from PeepCode. -

Ruby on Rails Code Review PDF
If you're a beginning Rails developer, this is the book for you! Seventeen chapters show how applications are often written (the wrong way). Then, we show you how it should be done correctly.
It's more than just a checklist, it's a tour of well-built applications that will help you build rock-solid web applications.
Available for $9 from PeepCode.
Ruby Books
Prefer to have a book to-hand when learning? Here's a collection of some of the best Ruby books around:
-

Programming Ruby – the PickAxe
Affectionately known simply as the 'PickAxe' in the Ruby community (due to the PickAxe on the cover), this is almost Ruby's de-facto official book. A must-have for any serious Rubyist!
The First Edition of the PickAxe is available for free at Ruby Central. -

Why's (poignant) Guide to Ruby
Written by Ruby's very own crazy-genius, why the lucky stiff (or _why), this is a free and very unusual guide to the language. Take a read through the first few pages, and you'll see why this book is a massive success.
_why's entire online presence recently disappeared, suddenly, and so the link below is to a mirror of the book, or you can download the PDF version. The book was originally available here.
-

The Ruby Programming Language
Bestselling author David Flanagan teams up with Ruby creator Yukihiro "Matz" Matsumoto and writer/cartoonist/programmer why the lucky stiff to bring you the authoritative guide to Ruby. Covering versions 1.9 and 1.8, this book helps you learn Ruby's lexical structure, primary expressions, conditionals, syntax, classes, the data it manipulates, and more. For experienced programmers who want to look at this language in depth, this guide is invaluable.
-

The Ruby Way
The Ruby Way takes a "how-to" approach to Ruby programming with the bulk of the material consisting of more than 400 examples arranged by topic. Each example answers the question "How do I do this in Ruby?" Working along with the author, you are presented with the task description and a discussion of the technical constraints. This is followed by a step-by-step presentation of one good solution. Along the way, the author provides detailed commentary and explanations to aid your understanding.
This book is not recommended for beginners to Ruby, however.
-

Everyday Scripting with Ruby
Everyday Scripting with Ruby is divided into four parts. In the first, you'll learn the basics of the Ruby scripting language. In the second, you'll see how to create scripts in a steady, controlled way using test-driven design. The third part is about finding, understanding, and using the work of others – and about preparing your scripts for others to use. The fourth part, more advanced, is about saving even more time by using application frameworks.

Rails Books
-

Agile Web Development with Rails
This is where most Rails developers started, and the book is now in its third edition to cover the ever-changing framework.
"Rails 2, released in 2008, brings hundreds of improvements, including new support for RESTful applications, new generator options, and so on. And, as importantly, we've all learned a lot more about writing Rails applications in the last few years." -

The Rails Way
Like 'The Ruby Way', this is not a book for new-comers to Rails.
"Using detailed code examples, Obie systematically covers Rails' key capabilities and subsystems. He presents advanced programming techniques, introduces open source libraries that facilitate easy Rails adoption, and offers important insights into testing and production deployment. Dive deep into the Rails codebase together, discovering why Rails behaves as it does – and how to make it behave the way you want it to." -

Rails for PHP Developers
This is the perfect book for PHP developers wanting to explore Rails.
"Rails for PHP Developers kick-starts your Rails experience by guiding you through learning both Ruby and Rails from a PHP developer's perspective. Written by developers with deep experience using PHP, Ruby, and Rails, this book leverages your existing knowledge of PHP to learn Rails application development quickly and effectively." -

Rails for .NET Developers
Or perhaps you're coming from a .NET background? This book has you covered!
"You're already a .NET developer; we'll help you get up and running as a Ruby on Rails developer on any operating system: Windows, Mac, or Linux. We start with a gentle introduction to the object-oriented Ruby language with examples and direct comparisons to C#, so you'll quickly feel at home writing Ruby code for the first time." -

Rails for Java Developers
Or maybe you're a hard-core Java developer seeking asylum with Rails?
"Written by experienced developers who love both Java and Ruby, this book will show you, via detailed comparisons and commentary, how to translate your hard-earned Java knowledge and skills into the world of Ruby and Rails." -

Advanced Rails
"This is the book for experienced Rails developers who want to go to the next level with this web development framework, with an in-depth look at techniques for dealing with databases, security, performance, web services and much more. Chapters in this book help you understand not only the tricks and techniques used within the Rails framework itself, but also how make use of ideas borrowed from other programming paradigms."
-

Advanced Rails Recipes
"With the help of a community of Rails chefs in the kitchen, here are 84 new ways to kick your Rails apps up a notch. Advanced Rails Recipes is a collection of practical recipes for spicing up your web application without a lot of prep and cleanup. You'll learn how the pros have solved the tough problems using the most up-to-date Rails 2 techniques so you can deliver your stunning web app quicker and easier."
-

The RSpec Book
"RSpec, Ruby's leading Behaviour Driven Development tool, helps you do TDD right by embracing the design and documentation aspects of TDD. It encourages readable, maintainable suites of code examples that not only test your code, they document it as well. The RSpec Book will teach you how to use RSpec, Cucumber, and other Ruby tools to develop truly agile software that gets you to market quickly and maintains its value as evolving market trends drive new requirements."
-

Simply Rails 2
"Simply Rails 2 is an easy-to-follow, practical and fun guide to Ruby on Rails for beginners. It covers all you need to get up and running, from installing Ruby, Rails and SQLite to building and deploying a fully featured web application."
- Follow us on Twitter, or subscribe to the Nettuts+ RSS Feed for more daily web development tuts and articles.
Related Posts
Check out some more great tutorials and articles that you might like
Plus Members
Source Files, Bonus Tutorials and
More for $9 a month for all TUTS+
sites in one subscription.










User Comments
( ADD YOURS )Eric August 25th
I couldn’t be the first one could I????
( )Eric August 25th
I am, OBTW I am not a RoR developer, but with all of these good tidbits I may have to start…
( )Andrew August 25th
Great Roundup! I’ve recently ordered “The Ruby Programming Language,” (in fact, I expect it to arrive today!) and am hoping to get into RoR after getting comfortable with Ruby. I’ll refer to this article often in the future!
I’m also disturbed by the disappearance of _why; if you haven’t read John Resig’s “Eulogy,” check it out:
http://ejohn.org/blog/eulogy-to-_why/
( )mrdata August 25th
Tittle seemed to be mispelled, it’s Ruby on rails, isn’t?
( )Am I wrong?
Noah Hendrix August 25th
I think the idea is that these resources are for both Ruby the language and Rails the framework.
Great to be included in a list!
( )Dan Harper August 25th
^ Yep, that’s what I meant in the title. If it was ‘Essential Learning for Ruby on Rails’, that’d imply the article was only about Rails; and ‘Essential Learning for Ruby and Ruby on Rails’ just doesn’t sound too good lol
Dan Harper August 25th
Btw, I’d love to see other suggestions from everyone as I know I may have missed off some great resources!
( )Gregg Pollack August 25th
Great blog posts, and thanks for the project plugs.
One additional resource I just started is “Ruby5″
http://ruby5.envylabs.com
A twice a week audio podcast covering the latest news in the Ruby and Rails community.
( )Wez Pyke August 25th
Some really useful resources here.
( )iFadey August 25th
Before coming to PHP, I was a .NET developer. Of course I realized pros n cons on both sides. These days I am enjoying doing projects using PHP.
( )Can anyone tell me what will be the benefit of learning Ruby on Rails over PHP and ASP.NET? Because as far as I know, it would be better to learn Codeigniter or ASP.NET MVC instead of shifting again to a new thing?
Dan Harper August 25th
I’d say definitely learn an MVC framework in your preferred language before thinking about moving to Rails.
PHP: CodeIgniter, CakePHP or Kohana.
( ).NET: ASP.NET MVC
Shane August 25th
A newcomer to Rails could learn both the framework and the philosophy of MVC in tandem.
Neither is complex enough to trouble most people, I’d have thought.
Alif Rachmawadi August 25th
I am PHP developer too and using Zend Framework almost 2 years, but learning something new like Ruby, on my last 6 months, give me new approach about how good programming is.
( )Try to learn Ruby (and Rails, if you want), and you will be a better PHP programmer.. and of course you will be a new ruby programmer
Ahmed El.Hussaini August 25th
Great list of resources for Ruby on Rails. Really nice work
( )curtismchale August 25th
I’ve worked through many of those books and honestly the only one worth it’s weight was “Head First Rails” which is not listed. I would highly recommend that book. After working through it I had enough knowledge to compete in the latest railsrumble competition.
( )Dan Harper August 25th
I’ll admit, I’ve seen that book referenced a few times, and every-time I’ve gone to look at it, I completely ignored it due to it’s *horrible* front cover.
Maybe I shouldn’t judge a book by it’s cover, or maybe publishers should just make covers which don’t look like a 90’s “Internet For Dummies” book
( )curtismchale August 27th
yeah the cover is a bit lacking. I have a psych degree and did lots of educational training and they really do hit all of the needed areas for effective learning.
Ferdy Christant August 25th
Seriously, how you can you title this article “essential” learning? It would take, what, 2 years to work through all this content?
( )Cheap Sites August 25th
I think this has inspired me to learn some RoR for sure, thanks for sharing!
Dan
( )Kyle August 25th
Any suggestions on where to get started with Ruby Shooes?
( )Andrew August 25th
If you’re talking about _why’s Shooes, here’s a link to the book about it:
http://dl.getdropbox.com/u/222517/nks.pdf (PDF Link)
( )Japh August 25th
Well this sure was great timing, thanks! I’m just starting to play around with learning RoR myself
( )Sam August 25th
Every single time I decide to pick up a new skill the nettuts crew reads my mind and does all the hard work for me. Epic.
Thanks for the great round-up Dan.
( )Tony August 26th
I just watched the “Creating a Weblog in 15 minutes with Rails 2″. Yeah, wow!! Of course, the bloke doing the video tutorial is already very clued in to both Ruby and Rails, and let’s not imagine for even a second that it was his first attempt to create a blog with Rails using Ruby. Great pitch!
( )David Moreen August 26th
These are the best resources that I’ve never seen before. I have been looking around all over the place for such tutorials. Thank you Nettuts!
( )DemoGeek August 26th
I’ve bought the AWDWR book the 2nd edition. And I’m aware that there is a new edition out there for Rails 2. Is there a way to kind of upgrade my v2 book to v3? I don’t want to pay the full price for the book as that would essentially make the $$ I spent on v2 almost useless.
( )Max August 26th
Great article! thanks for posting!
( )Adrian August 26th
I miss _why too.
( )Prodis August 27th
class Congratulations
def thanks
“Thank you for information.”
end
end
puts Congratulations.new.thanks
( )Dan Harper August 29th
c = Post.comment.new
”
c.post_id = 6457
c.parent_id = 98213
c.message = “You’re welcome!
c.save
puts c.message
( )Rodrigo Aves Vieira August 27th
Great! I´ll check them out!
( )webdevvote.com August 29th
you are voted!
( )Track back from WebDevVote.com
kodegeek September 7th
Awesome resources. Thanks!
( )runescape powerleveling September 7th
I tried to think so, but I found it was not as the same in the actual process. As you mentioned, I still have doubts, but really thank you for sharing!
( )Thibaut Barrère September 21st
If you want a selection of ruby/rails screencasts, be sure to check-out http://www.learnivore.com.
It’s an aggregator I made to keep learning.
cheers!
( )Matt September 22nd
I’ve yet to see a good resource for learning Rails. Many of the books use confusing, convoluted code samples. Sadly, this is as clear as the authors can make it.
If you don’t know another Web Development Language beforehand, or just a Programming Language in general, you will have an incredibly tough time using Rails. Rails assumes that you already know a lot about programming, and just gives you a faster way to transition into a quick workflow. Most of the (seemingly) stupid easy features of Rails assume you know the repercussions of such actions beforehand, which new users will most likely not know.
( )