APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed

RailsSpace

I first started looking at Rails and Ruby a little over a year ago, but haven't touched it since then. Recently I decided to get back to it and therefore dug out my copy of "Rail Space", which I have had for a while but had forgotten to review. Oh, well, better late than never.

"RailSpace" is a tutorial that leads you through building an imaginary application with Ruby on Rails ("ROR" from now on). At the very beginning, the author leads you through installing ROR on Linux, Mac or Windows. Mac OS X 10.5 (Leopard) comes with ROR setup and ready to roll, so I was able to skip that. I have done it on Linux and on my Mac prior to Leopard; that part certainly isn't difficult.

The only difference for an OS X Leopard user is that the book assumes you will be using MySQL as the backend database; Leopard has Sqlite3 as the default. For everything but the raw database examples, it makes absolutely no difference, but you certainly can install MySQL if you want. Just to convince myself that Ruby really doesn't care I did that, and did one project with MySQL and one with the default Sqlite3 - it really makes no difference.

After the installation, "RailSpace" does a pretty good job of introducing you to ROR, though I think it shares the same fault as just about everything else I've read on the subject: it doesn't give a good, concise description of how everything fits together. Instead, we get things like this:

..the only real way to understand the MVC architecture is to absorb it by osmosis...

I've seen the same thought expressed in just about every ROR book and article I've read, and it's complete nonsense. Anyone who has ever created a medium size website certainly should understand the concept of separating content from presentation, and that's the basis of ROR's MVC (Model, View, Controller). Your raw content will be under "views", definitions and code will be under "controllers", and "models" defines database data. The only other thing you need to understand before starting in is "migrations", which is simply ROR's version control system for your database.

"RailSpace" builds its application slowly, modifying it as the chapters go along. That's an excellent way to teach, because in the real world we constantly modify our websites, adding new features, restructuring, redesigning: you might as well learn how to do that in ROR from day one, and this book takes exactly that approach. I like that much more than presenting a finished product block by block.

By the way, the source code for this (and some sample chapters) are all on-line at http://www.railsspace.com and it includes the intermediate steps, so it's very easy to follow along without a whole lot of typing.

Update: That site seems to be dead.

I liked also that the project paid attention to both looks and ease of use without clouding up with too much detail. The design is simple, but with enough attention paid to presentation to understand how to accomplish that in ROR, and the same is true for niceties like data validation: they do enough to show the concepts without burying us in it.

The authors also included deliberate mistakes - that is, design deficiencies which you might notice before they get around to pointing out the problem. That's good too, because often the best way to understand why you need to do something this way is to see what happens when you don't.

My longer term intention with ROR is to redesign this site under its control. I feel that ROR is just what I've been waiting for: something that gives me a lot of built in capability, but doesn't restrict my own creativity. I think this book (and surely others) will be helpful as I stumble along toward that goal.

  • Michael Hartl & Aurelius Prochazka
  • Addison-Wesley
  • 0-321-48079-1

Amazon Order (or just read more about) RailsSpace  from Amazon.com

Tony Lawrence 2007-11-25 Rating: 4.5


Got something to add? Send me email.





(OLDER)    <- More Stuff -> (NEWER)    (NEWEST)   

Printer Friendly Version

-> -> RailsSpace




Increase ad revenue 50-250% with Ezoic



More Articles by

Find me on Google+

© Anthony Lawrence



Related Articles


Kerio Samepage


Have you tried Searching this site?

Unix/Linux/Mac OS X support by phone, email or on-site: Support Rates

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.

Contact us





Being the richest man in the cemetery doesn't matter to me … Going to bed at night saying we've done something wonderful... that's what matters to me. (Steve Jobs)

Java is C++ without the guns, knives, and clubs. (James Gosling)











Kerio® posts

Linux posts

Troubleshooting posts


This post tagged:

Apple

RubyOnRails

Web/HTML



Unix/Linux Consultants

Skills Tests

Unix/Linux Book Reviews

My Unix/Linux Troubleshooting Book

This site runs on Linode






Buy Kerio from a dealer who knows tech:

I sell and support

Kerio Connect Mail server, Control, Workspace and Operator licenses and subscription renewals