Ruby on Rails is great - when it works

I'm working on learning RubyonRails. So far, I'm very impressed with it's readability, structure, functionality, and growing community. However, this is all well and good when it works.

What I mean is, I spend most of my time staring at screens like this:

Application error

Rails application failed to start properly"

with little to no help on why it didn't start properly. Yes, I'm running development, I've looked at my log/development.log (nothing there). Eventually, I went to the httpd/error_log and found

[Sun Feb 12 13:27:33 2006] [error] [client]
FastCGI: incomplete headers (35 bytes) received from server

Ruby CrashThis was the gem that awaited me last night whenever I tried to run my app on my local desktop. That required a reboot (as my mac, sadly, is requiring too often now)

Either that, or various NoMethodError. What is bothering about Ruby on Rails is the amount of magic that goes on behind the scenes. This is obviously great and very powerful for developing web applications quickly. It's not so great when you're learning or something breaks and you don't understand why.

Speaking of "why", I did the smart thing and started learning Ruby properly using Why's (poignant) guide to ruby and the PickAxe book. I'm also referencing Agile Web Development with Rails and got the beta book Rails Recipes.

This doesn't, however, alleviate the frustration of spending most of my free development time just getting my app running again.

Update: (February 15, 2006) I seem to have gotten my desktop and shared hosting environments all setup now so they're happy. I can do local dev, check it into my Subversion repository, check it back out on the server and I'm good to go (mostly). I'm now really enjoying Rails development (and learning Ruby).

I need to figure out how Switchtower works. My initial trials were not working, but then again, neither was the whole setup working by hand either. I also think the Ruby installed on Mac OS X plays bad things with the Switchtower rake deploy command.

Update again: it turns out my dispatch.fcgi was not finding the require 'fcgi_handler' that is included in the rails gems library. My hack/work-around was to copy the fcgi_handler.rb from my rails install on my system (do a locate fcgi_handler.rb

About this article

written on
posted in TechnologyProgrammingWebRuby Back to Top

About the Author

Andrew Turner is an advocate of open standards and open data. He is actively involved in many organizations developing and supporting open standards, including OpenStreetMap, Open Geospatial Consortium, Open Web Foundation, OSGeo, and the World Wide Web Consortium. He co-founded CrisisCommons, a community of volunteers that, in coordination with government agencies and disaster response groups, build technology tools to help people in need during and after a crisis such as an earthquake, tsunami, tornado, hurricane, flood, or wildfire.