Why I think Ruby on Rails is an ideal web development environment
Here is a nice post from Andy Jeffries.
I totally agree with his reasoning (and I’m happy he listened to me
) and here are couple of things can be added:
- 1. MVC Design Pattern
Rails goes even further than that - it forces you to use MVC properly. For example, one can’t access session variables in the models. - 3. Integrated Testing Framework
Symfony’s testing is pretty buggy (even their newly Lime library) whilst Rails provide simpler to understand and write tests. Also, as a general Ruby argument, writing Ruby code is much more natural that writing PHP, and this reflects everywhere. - 4. Easy Enhancements to Active Record Models
The main difference on the validation is the fact that Symfony validates views whilst Rails validates models. I must admin, I can’t see the point of validating views - I need to validate the data that goes in the DB not the one received from the user (they are not always the same). - 5. Built-in Development Web Server
Rails used to come with Webrick but they changed the default to Mongrel now. This is very good and fast enough for development. The server you use for deploying is a different story and it’s usually up to the sysadmins to pick one - they know best.
Another point to add to the list is:
- Symfony has way too many files
It always amazes me why people want to make things more complicated than they should be. In Symfony evey little thing (helper, validator, view, action, etc) has its own file. Also, I didn’t get the reasoning behing using a 2 different files to display success and error outputs (indexSuccess.php and indexError.php). And don’t get me starting on the naming conventions and file formats.




