First, the positives. The good doctor's redeeming quality as a technical author is his ability to make the complex graspable for an audience - being neither too intimidating for the beginning coder, nor too condescending for the experienced architect. In this light, the book is very well done. Also, many readers with whom I've interacted find the holy grail of Rails writing, "Agile Development with Rails" to be too presumptuous and at times difficult to grok. Holzner addresses this crowd very appropriately, so those new to Rails, or Ruby programming, or web development in general will appreciate this book.
I realize that writing an introductory level book on any web framework is a huge undertaking for any platform. An author has to introduce a programming language, object-oriented tenets, database theory, SQL, operating systems support, web server integration, page handling, etc. - and then get into the actual web development. Add to this the challenge of a framework like Rails evolving at such a pace that a major publication might be outdated by the time it hits the shelves, and you've got a pretty daunting task at hand.
Holzner gives a good introduction into the Rails directory structure, working with databases, command-line syntax for creating Rails apps, working with Rails scaffolding, and provides a very healthy discussion for using Ajax in Rails. There's practical code in the book you can yank and use right away (not dependent on previous chapters), and the book shows how to work with WEBrick. There's a nice little section on unit testing, and cited are examples for setting up Rails on a Windows PC, a Mac, or a Linux box, so the content is available to a wide audience.
But with that said, I found the book to be short in a couple of key areas.
Only a scant amount of information was provided on working with XML and for using ActionController for REST-like URL mapping. And there isn't anything at all presented on the use of RJS templates. And there's likewise a tragic omission of using Rails to author web services, and nothing was presented about apps based on real-world relationships from database tables, only a simple one-to-many example. I also found the book to be incomplete without a firm discussion of a page's life cycle when handled by Rails. And there shockingly wasn't enough mentioned about the critical facet of Rails - its underlying Model-View-Controller architecture.
And what winds up being the book's most code-heavy example - a Rails shopping cart using session data and custom models - is merely regurgitation of the Pragmatic Programmers sample in the "Agile..." book.
The book's appendix is merely the answers to the end-of-chapter questions. I would have liked to see such a section dedicated towards more in-depth info on keeping Rails up to date, working with and authoring custom Ruby gems, examples of various sites currently using Rails, URLs to screencasts and podcasts, and IDEs developers can use instead of hand-coding new applications each and every time out. Since the examples mainly create a new rails app for each demo, I worry that the book may allow the first-time reader to misconstrue Rails development as a lot of work for even the simplest of jobs. Which defeats the whole purpose of Rails to begin with.
So, I'm giving this book 3 stars. It's very well written with a friendly voice and it'll get you into Rails fast. It's a great way to start learning RoR development for any level of developer. I've shared it with a few friends in academic circles and also with non-technical people, and it suits both equally effectively. But even at that, and considering myself an experienced - but not expert - Rails developer, the book is a bit incomplete without several critical discussions.