First thing I'd like to point out is this book is up to date with Rails 2.0.2 (released 12/07) which is important as many things have changed like script/generate scaffold, in-place-editing and auto-complete have been deprecated, etc. Essentially, enough to baffle and frustrate a relative newcomer unaware of these changes who is trying to get started on 2.0.2 with older tutorials.
This book absolutely delivers on its promise to "fill the void" between beginner books and recipe/cookbook style books. It is the one-stop resource I've been seeking since Rails hit the streets.
I bought this book hesitantly as there were no reviews yet. I've purchased at least a dozen books on RoR over the past 2-years, some good, some average, some not so good. I can honestly say this is the best coverage of RoR I've read - without hesitation! I've only written one other review here at Amazon which was for David Black's "Ruby for Rails" which was a great book a few years ago if you didn't know Ruby programming.
I own AWDR I & II, Pick Axe, Recipes I&II, Cookbook etc. etc. Good books in their own right but I was still left not fully understanding key elements of building a solid, well tested enterprise ready site. This resulted in me making a ton of mistakes leading to endless hours of Googling to find others who had encountered the same problems, finding random tutorials, picking up a tip here, a tip there, etc. It was pure scattershot!
My application design was not cohesive and lacked the fundamental building blocks and safeguards necessary for continued growth. For lack of a better analogy, the apps I've built with Rails have been nothing more than patchwork quilts temporarily held together with rapidly disintegrating stitches. Enter "Professional Ruby on Rails."
I received "Professional Ruby on Rails" the other night and thought I'd spend an hour or two skimming chapters and hopefully picking up a couple tips. 7-hours later after fully reading through everything in several chapters I was stunned at how many things I was doing wrong. Noel has done an exceptional job of covering key details that are typically glossed over or go untouched in other books and tutorials.
For example, how many tutorials have you seen where you get step-by-step intimate details on how to generate the models/controllers/scaffolds, run migrations, set up your associations, validations create a snappy View with some nifty AJAX....and then bang......the tutorial ends with "Now write your tests and check it into SVN". Hmmmmmm? Sounds pretty easy, okay...done.
Building the AWDR bookstore was reasonably covered but testing and fixtures were an afterthought. There was a chapter dedicated to testing but was general coverage and did not comply with Rails best practices of test driven development. This book fills that void wonderfully.
In the interest of full disclosure, I'm a hobbyist and don't make my living with web development. I'd rate myself with low-level intermediate Rails skills having built 3 or 4 "personal" projects, trivial in every sense of the word. In early 2007 I had attempted to start a non-trivial project, my "Big Idea". 6-months of agony later, I became so frustrated and lost, I walked away from Rails entirely. The biggest reason for my frustration, also my biggest weakness, was testing and it came back to bite me in the arse on more than a zillion occasions. In short, my app was hopelessly broken and the only solution was to scrap it and start over. Not fun!
Having spent a few nights with the examples and advice in Professional Ruby on Rails, I've come to realize I was going about testing in a completely bass ackwards way. I was also not using SVN properly and missing opportunities left and right to refactor code that is now, in just a few short days of reading this book, so blatantly obvious. I also didn't realize how trivial it was to build your own rake tasks to automate tedious chores I had previously performed manually. And I'm really only halfway through the book!
In short, no Rails book or resource I've read, and I've read a lot, has come close to teaching me exactly when, why, what, where and how to build a real-world application, step by step, like Professional Ruby on Rails. I give it my highest recommendation and feel confident that, thanks to Professional Ruby on Rails, my "Big Idea" now has a chance!