I'll probably get shot for saying this, but for small sites on tight budgets, I see nothing wrong with running the staging site right alongside the production one.
You're using Rails, Apache, and Passenger. Set up different Rails configurations (and databases), and set each one up as a named VirtualHost. Protect one with htaccess. Create an A record from your domain (staging.*) and point it there.
Sure, they're not completely insulated from each other. You might crash everything. Oops! It probably won't matter. :)