Things I’ve Learned from Ruby on Rails
Start deploying your application immediately…even if it is just from your local development environment to a QA environment. You’ll save yourself the headache of having to learn all that when you’re ready to release to production.
Always use source control, like subversion or git. This is a no-brainer, but people still ask why. You’ll be happier when you start deploying with revision control in place.
Always backup your files and databases — another silly mistake often overlooked.
MVC (Model View Controller) is a great way to ensure maintainability on a progressively complex web application project.
Small revisions are great for saving on debugging time required…many refer to this as “iterative development”. Fix a broken link or image, add one or two useful features, then test and deploy.
Writing version 1.0 before ever deploying to a different environment will ensure you’ll spend a few days debugging things you never thought were a problem on your local environment.
Validating your form fields and user-supplied data is mandatory in the age of web vulnerabilities and XSS (Cross Site Scripting) exploits.
REST is a great convention enabling your web apps to be relatively static in the URLs they generate.
Do not wait long periods of time between releases. RoR is a fast, dynamic framework that has a very aggressive time line. Even a month after you’ve got your environment setup and working, things can (and will) change in the next release. Stay on top of these releases as appropriate — make sure your production server is up to date as well. For shared hosts, don’t upgrade past the version they support unless you’re ready to jump through hoops.