Theoretically, of course, with sufficient test coverage you should
never actually need to fire up the development server - all the
behavior your application is required to show is defined in tests,
which pass and so you know it works... ^_~
Perhaps more usefully, the most obvious answer is "Don't develop on
You can download all the components you need, often in nice easy to
install packages for just about any OS you use. Try googling for
'Instant Rails' or 'bitnami rails' if you're on windows for example.
On linux use yum/aptitude etc. Then only push things up to the server
when they're fully developed and/or ready for 'real-world' testing.
Your second alternative is to use something like ssh port forwarding
(check your ssh help/man page to find out how to do that) to see the
rails application on your local PC without requiring the port to be
opened up to the wider web, with the development mongrel bound to the
localhost or external access to the port firewalled off.
Finally, what is their policy on developing, say, php scripts on the
server? An error in a php script is just as likely to bring down the
server, if not more so. The php script is probably running with
whatever privilege apache has. The rails application, in development
mode, is likely running with just your privileges and in production
can be given it's own unprivileged user. Which isn't perfect
security, but it helps.
Hope this helps,