Rails BetaBook Hits the Spot
Now that I’ve had a chance to go through the Rails BetaBook, I thought some of you might want a review of what’s inside. Of course, I don’t need to tell you that the book is a treat. I’m sure you know what Dave Thomas and DHH are capable of. And considering the scarcity of Ruby literature available, I’m sure you’ll have your own copy in short order. (Indications being what they are.)
The BetaBook itself is rather fascinating. Littered throughout the margins are editorial notes about changes which are foreseen in the final edition, including possible changes to Rails itself. I get the feeling that Dave is trying to solicit feedback from the reader, to get you to eyeball the topic closely, to get you searching for omissions and unanswered questions. Considering the beta readers’ familiarity with the Rails API at this point, I’ll bet this pays off big. (See how desperately Premshree wants one?)
The book is largely divided into two parts. An introductory Rails tutorial (a la Rolling with Ruby on Rails) occupies the first hundred pages while a verbose explanation of all the sundry Rails components fills the last three-hundred pages. This is all flanked by a sizeable introduction and terrifically handy appendices, including a very sly fifteen page Ruby crash course, focusing specifically on idioms common in Rails applications.
The tutorial follows creation of a shopping cart. While it isn’t an immediate jumpstart like Rolling, the tutorial covers a lot of ground, such as sketching a page flow or keeping sessions. The cart’s database model grows throughout the tutorial, demanding expression of relationships and validation of input. The testing section of the tutorial is the most elaborate section, comprising forty pages of scenarios with accompanying fixtures.
The component sections explore the capabilities of Active Record, the Action Pack, the Prototype library, as well as security and deployment. All of this is along the lines of the introductions you’ve seen in Rails API docs (such as the opening of the ActionController::Base documentation), but with the addition of diagrams and notes from experience.
Now, I’m sure you can live without the Rails book, given the material available in tutorials, videos, and blogs. But Dave has done the work piecing together the vast sea of snippets into something cohesive. And, of course, you get Dave’s over-arching paradigms alongside a lot of these fragments.
Just keep in mind that you aren’t dropping money for a reference book. It’s not the PickAxe, which picked up Ruby and shook it for everything it had. Agile Web Development with Rails is a guided tour along the tracks which wind over the hills and through the countryside of Ruby on Rails, frequently stopping to hand you the binoculars and break down the mythology behind a modern technological marvel.