I'm by no means a top-flight Rails programmer (or programmer, for that matter), but be that as it may I am occasionally contacted for various types of consulting. (Frequently SEO or marketing because I'm sort of good at those.) I tell them that I'm busy. This is both true and not true. I am busy -- I run my own business, have a day job, and do occasionally like to have free time. But if you dangled a big enough check in front of my nose, I could be less busy in a hurry.
"Not available for hire" is a polite fiction that I tell people to avoid saying "I'm not available for hire at any price near what you are willing to pay". You can sort of tell, right?
"Hey, I read your blog and saw that you were a Rails developer. Cool! How much would it cost for you to do a simple five-page website?" => "Oh, terribly sorry, I'm busy. (Forever.)"
"Hey, you seem to be pretty good at SEO? Could I hire you for some consulting work? How much could I get for $500?" => "Oh, terribly sorry, I'm busy."
More broadly I think that contract programming gets progressively less attractive the better you get at being a businessman. Even if you command premium rates (and you darn well better command premium rates if you're that good), if you just buy your own time for a few weeks and then release the app that people were going to pay you to write, then you can scale your income past the number of hours you invest. Far past. Programmers are smart people, most of them are capable of doing this math.