Beginning Rails 3
I read a paper some time ago–but for the life of me cannot remember where–presenting study findings on student recall and comprehension. The irony of not recalling the details of a paper on the subject of recall spurred me to examine my own recall in other areas. I may have forgotten the source but the gist of the paper… that I remember: The best way to improve comprehension and recall is to write an essay. I’ve long believed that writing develops a concept more fully (Galbraith, Torrance & Hallam, 2006) but the lost paper suggests that essay writing on a new subject internalizes the content.
Blogging is (or can be) a form of essay writing. I read a lot for both work and school. Would writing about what I read improve my recall? The lost paper seems to suggest so. With that in mind, I have decided 2011 is my year to write book reports. Since I’m writing for myself, these reports may be peculiar and I make no apology for it. I make no claim of their utility in anyone’s purchasing consideration. In fact, I may not even write about the content but rather the mechanics of the content.
My recent review of Beginning Rails 3 (Carniero & Al Barazi, 2010) dated February 23, 2011 can be found on safari.oreilly.com [repeated below]. I don’t know if it’s a proper or even a traditional review. It contains my pressing thoughts upon finishing the book. Reading back over it, I can think of several essay topics that have little to do with Rails but rather with the construction of a book on Rails. That, however, is a different posting.
Carneiro, C. Jr. & Al Barazi, R. (2010). Beginning rails 3. New York, NY: Apress Publishing.
Galbraith, D., Torrance, M. & Hallam, J. (2006). Effects of writing on conceptual coherence. Proceedings of the 28th Annual Conference of the Cognitive Science Society, 1340-1345. Retrieved on March 4, 2011 from http://web.staffs.ac.uk/schools/business/iepr/docs/workingpaper35.pdf
I found Beginning Rails 3 to be a gentle introduction to rails. I came from a C/java background and comfortable with ruby, sql and bash.
Intro: Ch 1,2,3 contain the obligatory ‘getting started’ material. Fortunately the material is easily digestible and relatively brief. I wanted to build the sample application as I read the material and went through processes of updating rails (on OS X) and getting the first app running. Everything here worked on my laptop as described in the book.
Models: Ch 4,5 walk through just enough ORM to carry the reader through the rest of the book. The authors didn’t get wrapped up in sidebar discussions of ActiveRecord outside the scope of the sample project. I liked using the rails console to learn the minimum basics of creating and using models.
Controllers/Views: Ch. 6,7 walk through building the ‘web side’ of the app based on the models from the previous two chapters. A good understanding of the models before building the controllers and views made the exercise much easier to follow and anticipate.
Samplers: Ch 8, 10, 11 are sampler chapters each of which could warrant an entire volume. A consistent theme throughout the book is ‘just enough’ and these sampler chapters give the flavor if not the feast. The chapter on ajax replaces prototype with jquery (thank you) and ajaxifies a single form. It’s enough to get started. The chapter on internationalization gives just one approach to creating a multilingual site. It’s an ugly problem and this book should only be viewed as an introduction–a good introduction but an introduction nonetheless. The same can be said for the chapter on testing. For someone just getting into rails, the material on writing tests is enough without being overwhelming.
Skipped: I read but skipped working the tutorial for Ch 9, 12, 13. The material seemed simple enough and I felt the other chapters gave me an adequate base of understanding to start working on a simple app of my own.
These guys really worked to keep their code clean and in sync with the book. I kept getting a warning (Object#id will be deprecated; use Object#object_id) on a partial when working through the chapter on testing. It turned out that the error was upstream (a case of id vs. :id). I downloaded the chapter source and diff’d against my work. Aside from some whitespace differences (and typo’s on my part), the files matched.
This is where I’d normally offer my suggested revisions. I really don’t have any. This is, after all, *Beginning* Rails 3. No book can cover everything. Nor should it try. So, what’s next? Speaking for myself, the next book to read is on test development.