You don't really need to reboot the server, especially not with a Rails project. At worst, you might want to reload Apache/Nginx/Webserver of choice, but really, you can just restart your project internally.
You can do one of two things. Assuming that your project is being served by Phusion Passenger, you can add a commit hook to your repo on the server to reload the app...
cd /wherever/your/svn/repository/is/hooks
touch post-commit
chmod 755 post-commit
and then
#!/bin/sh
#post-commit hook. This will force Phusion to reload your RoR project
echo "Some message. Just letting you know I'm doing my job"
/bin/touch /wherever/your/project/is/tmp/restart.txt
Or reload the webserver (you need to make sure you have sudo-without-password rights though, or else this will fail. This will also force a refresh even if you're not using Phusion)
#!/bin/sh
#post-commit hook. This will reload the webserver, forcing everything to reload.
echo "Some message. Just letting you know I'm doing my job"
sudo /sbin/service whatever-your-webserver-init-is reload
And hey presto. Your project is now reloaded when you commit, and you should be able to see your changes immediately* (after you reload the page).
*these hooks are for SVN though. They might work in Git, who knows until you try. Someone might want to check on me in case I got it wrong