Published using Google Docs
how to learn rails
Updated automatically every 5 minutes

How to Learn Rails

created for the Hack for School project

follow me @andreareginato

Baby (beginner)

Passionate (medium)

Crazy (advanced)

Useful resources

Tools

Suggestions

Baby (beginner)

For everyone who never saw Ruby and Rails 3

If you are new to Ruby and Rails, but you have some experiences on programming (web or not), the first point to start from are the Rails Guides. At this link, you will find several guides. To be up and running you do not need to read all of them, also if it’s highly suggested. For sure, you can not miss the Getting Started, Models, Controllers, Views and Testing guides. At this step is helpful to define some basic Rails 3 application to get comfortable with the tools.

Also if you could use Rails without learning Ruby (at least I know many people that did it), is good to know the basics of Ruby reading the Whys Poignant Guide (also in pdf).

Passionate (medium)

For everyone who like rails, and wanna learn it seriously

Once you get comfortable with the basics of Rails, you need to learn it much more in deep. To do this we suggest the book Beginning Rails 3 (highly recommended). Taking the Amazon description, it is the practical starting point for anyone wanting to learn how to build dynamic web applications using the latest release of the Rails framework for Ruby. You'll learn how all of the components of Rails fit together and how you can leverage them to create sophisticated web applications with less code and more joy.

Once you learn Rails, you need to learn testing. Testing is probably one of the most difficult things developers have to learn, but it will save your ass more and more time, whenever you’ll get comfortable with it. Rails has great libraries to make test, and lately also a great book called Rails Test Prescriptions (highly recommended). It introduce you to Test-Driven Development (TDD), a process for improving design, maintainability, and most important, your life.

Probably, while building a web app with Rails, there will be one point where you will feel the need to better know Ruby. The suggested “tome”, that covers also ruby 1.9, is Programming Ruby 1.9 (recommended). This book begins with a quick-start tutorial to the language, and then explains the language in detail from the bottom up.

Crazy (advanced)

For everyone who wants to take the best

Now you know Rails, and you are in the moment you want to get the best from it. In this case The Rails 3 Way (highly recommended) is the only comprehensive guide to delivering production-quality code with Rails 3. A team of leading experts speaks about the entire Rails 3 API, along with the idioms, design approaches, and libraries that make developing applications with Rails so powerful. In other words it shows how to use Rails 3 to maximize your productivity.

To improve your testing practices the most, you can’t miss The RSpec Book. You'll get started right away with RSpec 2 and Cucumber by developing a simple game, using Cucumber to express high-level requirements in language your customer understands, and RSpec to express more granular requirements that focus on the behavior of individual objects in the system.

To improve your way to build a great architecture for your Rails (but not only), a great book is Service Oriented Design With Ruby and Rails, which despite the title, is a source of information that every expert web developed can’t miss. Paul Dix, the author, demonstrates how to integrate multiple components within an enterprise application stack; create services that can easily grow and connect; and design systems that are easier to maintain and upgrade.

Last but not least, the advanced Metaprogramming Ruby, written by Paolo Perrotta, will make you understand the principles of Ruby, including the object model, scopes, and eigenclasses, you're on your way to applying metaprogramming both in your daily work and in your fun, after-hours projects.

Useful resources

Getting started with Rails.

Rubyonrails screencasts.

Peepcode Rails course part one and two.

List of useful resources for programmers.

Tools

Ruby 1.9 (language)

Ruby on Rails 3 (web development framework)

RSpec 2 and Cucumber 1.2.1 (testing)Suggestions

Leave a comment through the menu ‘insert’ -> ‘comment’ where making relevant changes.