Beginner's Guide to Learning Ruby on Rails
By John Berry on November 8th, 2007
I've gone through the process of helping rails-curious developers get up to speed often enough that it's time to capture some recommendations. This is a high-level list of activities to get you up to speed on Rails.
Buy the Pickaxe Book
Several of the folks I've helped out were pretty seasoned programmers from the Java world. One consistent theme is that there's often difficulty in separating what's pure Ruby vs. what Rails provides.
Unless you already are comfortable with Ruby (otherwise, you're probably not reading this...), I strongly suggest you start with Programming Ruby - The Pragmatic Programmers' Guide (AKA The Pickaxe Book). This is everything you need to learn your way around Ruby. You only need to spend a few hours getting the basics down before you'll be able to understand / write Ruby code, and you'll rely on it later for reference.
Buy the Agile Web Development with Rails book
Uggh. Another book? Yep, but you'll appreciate it later. There are some really good tutorials out there, but nothing gives you as comprehensive a view of the Rails framework as this book. Just like Pickaxe gave you the fundamentals of Ruby, Agile Web Development with Rails will get you smart quickly.
Slog through "Depot"
Depot is the famous (infamous?) hands-on tutorial in Agile Web Development with Rails. You'll be guided through your first Rails app; again, giving you the basics. I know you want to get started on your Digg/Cute Overload/Conservapedia mashup, but you'll probably get lost quickly without having done the Depot dry run.
Hang out on IRC
A lot of help in the Rails community is provided via IRC. #rubyonrails on freenode.net is where you can ask just about any Rails-related question. The range of topics is vast, so even if you don't have anything to ask, it's worth lurking to see what difficulties others are having. You'll learn a ton of tidbits just by checking the channel occasionally.
For OS X, Colloquy is a great IRC client. (for Windows... I'm not so sure, maybe mIRC?).
If you're interested in what things are being talked about at the Rails-core level, check out the #rails-contrib channel.
Use the source
Once you've reached a resonable degree of comfort with Ruby and Rails, referencing the actual Rails source code will be invaluable. Personally, I've created a TextMate project just containing the Rails source, which I can use to quickly search and browse. You're only a few clicks away from getting to the bottom of any confusion around why Rails is behaving the way it is.
Know your resources
There's a wealth of Rails-related information out there. Here are a few essentials:
Contribute
By now you're probably hopelessly hooked on Rails. The community welcomes and encourages contributions. In fact, it can't survive without developers testing, documenting and contributing. If you're interested in joining in, you can start with the Rails Trac homepage, which has a good overview on how to get started. Also, Josh Susser gave a good presentation on how to contribute at RailsConf '07.

Comments