The Rails 3 Way Book Review
One of many reasons why Rails has become so popular is due to its ability to abstract the difficult, mundane operations of web application development. But once developers become skilled with Rails, they want to dive into the internals to see what makes it tick. Well known Rails community member Obie Fernandez has done just that with The Rails 3 Way. Does the book achieve its objective?
The Rails 3 Way leaves no stone unturned. Every notable aspect of Rails is explored, and while it may take an occasional re-reading of a chapter, determined learners will gain substantial insight into the workings of the Rails framework. Starting with the Rails environments and configurations, Chapter 1 covers the Bundler, app settings, development, test and production modes and log files. The next chapter covers all things routing, something that has changed quite a bit in Rails 3 compared to earlier versions. Next up, REST in Rails, followed by a comprehensive chapter on controllers. Chapters 5 through 9 cover the many details of active record, including migrations, associations, validations and advanced features like chaining scopes, callbacks, observers and Single-Table Inheritance (STI). Chapters 10, 11 and 12 cover action view, helpers and Ajax on Rails respectively. Chapters 13, 14 and 15 dive into session management, authentication and XML and Active Resource, while chapters 16 and 17 explore the new emailing system in Rails 3 called Action Mailer as well as helping readers understand Rails caching and performance practices. Chapter 18 discusses RSpec, providing an adequate introduction to the testing framework that has more or less replaced Rails' own Test::Unit as the Rails developer testing framework of choice. Chapter 19 looks at Rails plug-ins and the book concludes with a chapter on understanding and running Rails background processes. The two appendixes on the Active Model API and Active Support API references complete the book.
One aspect of Obie's approach that I really appreciate are the injections of his friends (who are also well respected members of the Rails developer community, people like Yehuda Katz, Jamis Buck and Xavier Noria) who supply their own pearls of wisdom on the topic of focus. Not only do these help give flavor to the chapters, but also indirectly highlight some really valuable nuggets of hard-learned experience. And because Obie refers to these contributors by their first names, its a more personal touch that gave me the feeling like I was having a conversation with Obie at a RailsConf, with his friends popping in from time to time with their own brief contributions. Nice touch.
This book is not for beginners; it is most definitely not a Rails tutorial. If you need to learn Rails, check out Michael Hartl's excellent Ruby on Rails Tutorial book and video series instead. Even intermediate Rails programmers will need to re-read the book to help the contents soak in.
The Rails 3 Way's target audience are those Rails developers who have already written several Rails applications and are seeking a fast-track way to learn as much of the framework's nuances. Most experts will be able to gloss over some of the material, but will no doubt discover valuable pockets of insight deeper understanding along the way. Thus, for intermediates and above, I strongly recommend adding this title to your technical bookshelf. There is simply no other Rails title on the market at this time that offers the technical depth of the framework than The Rails 3 Way.
Title: The Rails 3 Way Author: Obie Fernandez Publisher: Addison-Wesley Professional ISBN: 978-0-321-60166-7 Pages: 768 Price: $39.99 (Ebook), $49.99 (Print)