I found Express.js and it's sister-framework Connect to be a complete mess. I had trouble following what was going on, major problems debugging, it uses the factory pattern in the wrong places, and the Rack-style middleware is inefficient and unnecessary for most projects. But NodeJS itself is great, and to learn it best I think it's worth the time to write your own simple framework and utilize libraries where appropriate (like db libraries, formidable, and websocket.io).
Rails is over. It's a bloated meta framework that requires enormous amounts of peripheral knowledge to understand.