Reviewed February 18th, 2007 @ 05:06PM
Rails Solutions by Justin Williams was an excellent primer to the popular framework, Ruby on Rails. I recently had a chance to learn some basics of the RoR framework from a friend of mine, Stephen Rainey. He got me up and running and pointed me to some great resources and books. This book is a recent release from Friends of Ed and it is highly recommended if you are just getting your feet wet with Rails. The book walks you through each step to get up and running and developing the ‘Railslist’ application. The author takes the time to walk through the installation process for both OS X and Windows. The flow of the book was very easy to read and each chapter built more from the previous chapters. The goal of the book was to create a working rails application, while showing you the possible routes and benefits. The overall flow looked a bit like this:
The first chapters were very elementary. This is a good thing for those looking to learn the right way to get started. The author walks you through Ruby, the language behind Rails, and shows you some of the constructs and nuances of the language. This is a good primer for those coming from another language (such as PHP) that looks very different. After the introduction to the language, he moved forward into the setup.
Installing Rails was painless. The author walks through the necessary steps to setup a development environment on the Mac and Windows platform. For those who are interested in some additional resources on setting up your environment, check out the updated Building Ruby, Rails, Subversion, Mongrel, and MySQL on Mac OS X by Dan Benjamin. Personally, I have found using Mac Ports a very easy way to manage your development environment and it is worth a good look.
We are now ready to build our application! Through the next few chapters, the author walks you through creating a ‘railslist’ application. With each chapter you learn new aspects of rails. You learn how to setup your project, how to use scaffolding, how to generate your models, views, and controllers, and how to get your database connected and working. He goes in depth on each aspect. Setting up relationships and validations in your model (ActiveRecord), setting up your Controllers and using custom routing, and then how to get your views in place and use partials and
.rjsfiles. Towards the end, we even get to add a dash of AJAX to the application for some simple tasks.
The last chapters and appendixes discuss deployment of your application to a production server and all the pieces that need to be in place to go live to the public and handle the traffic. Though this book covered the steps, I have heard that there is more to be said on deploying your application — so you may want to look at some more resources.
This book is for a beginner to Rails. If you are an advanced programmer or have been in Rails for a while now — then this book is not for you (and the author states this in the first paragraph of the book). I felt that there were some pieces that could have been discussed related to progressive enhancement and accessibility (AJAX and CSS), especially when building the AJAX into the application. However, that is no reason to not give this book a chance.