Rails 3, Webrick, Mac OS X, Error: missing :action (ArgumentError)

I was making some changes in a routes.rb file and fat fingered the wrong line:

match '/public_html', "domains#public_html", :as => 'public'

Ran rails server, hit localhost:3000 and quickly saw a huge stack trace with this little gem of an error at the top:

/Users/miker/projects/projects/logthingy/vendor/bundle/ruby/1.8/gems/actionpack-3.0.7/lib/action_dispatch/routing/mapper.rb:171:in `default_controller_and_action': missing :action (ArgumentError)

To me, that error message is not the most helpful. Because the only change I had made was in routes.rb I knew the issue was there. By the way, this is where I feel a little bit sorry for newcomers to Ruby and Rails… The error messages are not always entirely clear. For those of us who have been in Ruby long enough to know the “breadcrumb logic” we can get by, but for those who don’t it can be a nightmare.

The fix was simple and subtle… was missing some punctuation:

match '/public_html' => "domains#public_html", :as => 'public'

Releasing LogThingy.com, a Domain Manager/Content Server

This last weekend was filled with a hackishly fun project: build a rails app that can route domain names to dynamically generated html content. The need arose from having too many domains and them being parked all over the place. I needed something all-inclusive. Ideally, a web site that lets me add newly parked domains and serve up the full html page creation dynamically.

Thus began a journey lasting about one week. Monday of last week I embarked to build said application and can report back today that I have launched it to a production environment, still in early beta stages. LogThingy.com, for lack of a better name, is a domain social network with content-parking capabilities. You can add domain names to your account, we’ll fetch all the name servers and expiration details, and then once your domain is parked onto my server the application will begin serving requests to that domain the html that you’ve stored.

This is an invite-only pre-release. There are numerous feature gaps, but things are running stable and you can see the net result by visiting some of the domains: synced.org, comparestrains.com, logthingy.com, answerwise.com

All domains serve a standard “Coming Soon” image unless content has been defined via the backend. You’ll see LogThingy.com is a “Coming Soon,” while the other domains have content (albeit slim). Thoughts and feedback welcome. Here are some screenshots of what things look like..

More updates to come =) Oh, and don’t forget about SimplyFor.US, updates were just rolled out over there.