I'm coming from a .NET background and basically, I've just had it with running separate servers (one Apache, one Windows Server) and the cost of upgrading Visual Studio. My reason for choosing Ruby on Rails over PHP or anything else is because I've been using ASP.NET MVC exclusively for a couple of years and I'm familiar with the idea of MVC and I like it.

A few basic questions:

I've not got to deployment yet so I don't understand it at all. I'm used to uploading files and checking the browser. So, when deploying is the database creation or update included in the deployment, I mean does something like Capistrano make or change the database or is that a separate process?

How does the server know to no longer look for a file but instead look for controller/action from the URL?

After deployment is complete can I simply upload a changed view file or do I have to go through deployment again?

Thanks for helping out the new guy.