I have actually come across the exact same issue in my current project. I also noticed however, that if you look in the generated HTML code of a 'form_for' that is attached to your user model for example, you will see that the id appears within the code of the page also.
So the ID is all over the place anyway even if you take it out of the URL. And it felt to me that trying to remove it from the URL seemed to be working against the built in RESTful routing stuff that Rails does now and I was just making more work for myself.
My workaround/solution that I plan to implement is to seed the ID in the production database so that it does not start counting at 1, rather it will be some much higher arbitrary number. This will make it impossible for anyone to know exactly how many users there are just by looking for the ID in the URL and in pages. I guess someone could still sign up for an account, take note of its ID, then come back and sign up for a new account months later and in that way work out how many *more* users you have than you used to... But I figure if anyone is that obsessed with my app that they are willing to go to that much trouble, then I'm happy. 
I guess another possibility would be to look into one of the URL slugs plugins and hide the ID in the URL that way, but I'm not sure if the ID would still be present in the page source of forms and stuff.
If any Rails gurus want to comment on this one, I'd also be interested to hear.
Last edited by jonny_noog (2008-10-11 18:05:34)