As for technical advice, I would suggest you familiarize yourself with as many languages as you can. I started coding in C, and while I rarely use it for anything other than assignments it has definitely helped me in terms of understanding concepts and constructs for other languages. I've never used RoR, but I'm assuming that you've at least learned the basics of deploying a web app. Try learning Python/Django, JSP (I hate it, but lots of small businesses in my area use it and it's great to throw on the resume), PHP, etc. You'll find that there are a lot of similar concepts.
I'm in the job hunt myself and every single recruiter I've met has said that the best thing you can do is to expand your programming skill set. If you've even so much as finished a basic tutorial in a language, list it on the resume. Build up your portfolio with as many completed projects as you can. Don't listen to what you're "supposed" to do - I was "supposed" to be an English major because I got an 800 on the SAT verbal. The point of CS is that you take the rules and bend them beyond the point of recognition, and the sooner you start thinking this way the better.
Anyway, good luck and I can only hope that the passion you have for coding now stays with you during those tough moments ^.^ (Oh, and don't worry too much about familiarizing yourself with TDD, Agile, etc. There are a ton of books on safari on the subject - read those, familiarize yourself with tools like git, trac, or any version control system, and you can get by)