Chanpory Rith
Sep 24, 2010
I just got done with day four of Rails Bootcamp, and I’m exhausted. But Rails is so cool, it makes up for the drain and pain. Sarah Allen also continues to impress with her teaching acumen.
In today’s class, we learned about Controllers, the C in an M-V-C application model. In short, Controllers are like traffic cops. They take requests from a user and then work with the Model and View to bring information back to the user. This little diagram from Sarah’s presentation might help:

We also learned about “associations” or how to make separate database tables relate to each other. For example, if you’re making a contacts application, you’d probably want a People table to relate to an Addresses table. Dealing with tables and associations were traditionally a huge pain in technologies like PHP, but Rails makes it so easy.
What works
In my previous diaries, I focused a lot on the class rather than the content. Today, I’ll spend a little more time talking about Rails itself.
Less typing
The beauty of Ruby on Rails is its conciseness. It’s as if Rails read The Elements of Style as a pimply teenager in high school and took it to heart while growing up. The resulting D-R-Y philosophy is so apparent in Rails, I found myself asking, “Really? That’s all I have to type?” The answer was, “Yes!”. I even heard a classmate say, “In Java, this would have taken ten times more code to write.” For lazy and dumb programmers like me, this is awesome.
Getting real
The best part of learning Rails is making applications that do real things. After years of faking things in Photoshop and Illustrator, it’s so much fun to make something work in a short period of time. I just feel like I’m really creating, not just imagining. It’s also great to gain insight into how web applications are put together. It’s like getting to look under the hood of a BMW, and knowing how all the parts fit together and why.
What doesn’t work
Lack of good documentation for beginners and designers
Sarah recommends Agile Web Development with Rails and Rails Pocket Reference as resources for more on Rails, but admits she hasn’t found a good guide for absolute beginners yet. (Open-sourced software is notorious for poor documentation.) I suppose you’ll have to take her bootcamp class.
Yellow Cab fiasco
Two students had to wait two hours for a cab to get to class. What is up with taxicabs in San Francisco!?
The bottom line
Rails is fun to learn and to use. For designers who are serious about designing for the web, a class like this is a must. Even if it’s just to know how applications are built.


5 Comments
Michael Buckbee
12:53 am
I’ve always found Rails to have really strong documentation. For overall / getting started stuff, checkout: http://guides.rubyonrails.org/
Another resource you might not be familiar with if you haven’t programmed before is http://www.stackoverflow.com – Almost any question you ask on there will be answered within minutes.
Graham Charles
9:59 am
I can’t speak to the programming stuff, but Yellow Cab in San Francisco does terrible phone dispatch, especially if you’re anywhere but downtown (where you could probably have caught a cab anyway).
I’ve had luck with De Soto and Veteran’s, and there’s a City Wide Dispatch run through Big Dog Cab.
Jacob Reiff
7:19 am
Learn to Program by Chris Pine is a solid “absolute beginner” book that focuses on overarching programming concepts and uses Ruby for all of its examples.
http://pragprog.com/titles/ltp2/learn-to-program
Kedron
9:10 am
I’d love to take a class like this! Thanks for posting the recaps!
Diane Ladd
8:16 pm
Great post. I’ve been interested in Rails for some time now. In the past, I’ve primarily developed using .NET with javascript for client side scripting. I’ve also played around with PHP a bit. I really like the apparent simplicity and focus on efficiency of Rails. I really need to give it a try. Cheers.