When you override a Devise controller, you need to tell the router where to find your controller. On second thought, maybe that's only if you don't monkey-patch the class as we're doing here... unfortunately the code I was playing around with is on my other computer. I'll check tonight.