Book Review: The Rails 3 Way

TLDR Version: This is quite possibly the best programming book I have ever read. It’s packed with examples, covers an enormous amount of Rails feature in great detail while also serving as an excellent reference guide for everyday programming. Bought it, read it, love it.

While I was reading this book I was reminded of a conversation I had with a developer a few years ago while we were discussing Rails. He argued that Rails is a fantastic framework and it’s very easy to add standard functionality, but once you start to go ‘off the beaten track’ it becomes very difficult to work with. I think this book goes a long, long way to debunking that myth.

book

The Good

The Rails 3 Way covers all the major areas of Rails – routing, controllers, Active Record, migrations, validations, views, helpers, AJAX, sessions, authentication, caching – pretty much anything you’re likely to end up using in everyday programming. Every single section is well-structured, full of examples and incredibly well researched. I especially like how each section seems to have a single example which is then expanded and changed as more features are introduced. It’s incredibly difficult to get this right and this book absolutely nails it.

While serving as excellent reference material this book also points out potential red flags which indicate that you’re trying to solve a problem which doesn’t really exist. It’s obvious that the author is very experienced in Rails and often points out how and why different features have changed between different versions of Rails.

The Not-so-good

This book is long. Almost 700 pages, depending on which of the appendices you find useful. That’s about half the length of The Lord of the Rings! I don’t think this is a bad thing – since the wide coverage is what makes this such an excellent reference guide – but it’s just something to keep in mind. Prepare to do some pretty diligent reading for at least 2 weeks.

If I had to be really picky, I would say the section on helpers wasn’t all the great. I don’t really know why, but there were quite a few spelling mistakes and overall the section didn’t feel as polished as the rest of the book. This was also the only part of the book where the code examples seemed to be a bit confusing.

The section on AJAX also felt rather light – it’s a mere 16 pages. I think most modern websites contain at least some AJAX so I found this to be a bit strange.

Conclusion

This is quite possibly the best programming book I have ever read. It’s packed with examples, covers an enormous amount of Rails feature in great detail while also serving as an excellent reference guide for everyday programming. Bought it, read it, love it.