The battle of web frameworks is too big, some people think there is only one solution for all case, but I don’t think so, I choosed years ago and I use it for all my jobs.
Ruby on Rails represents to me a good solution for each development, and I choose this because I found an excellent set between code and philosophy.
I like the code, it’s clean, I understand any Ruby code, and I have sometools to do the job quickly and solid.
This solid work came from others tools, tools like T.D.D. (for Ruby is RSpec). Some people ask about it, some programmers don’t know anything about TDD, and I like to share excellents videos for learn it.
The url for the videos is this: http://marakana.com/techtv/efficient-rails-test-driven-development.html
In those videos you can find a way to learn TDD, BDD too, and answer why a good development in Rails + RSpec is the best way for long term.
When you need to change or add some functionality to your code, TDD and BDD are the perfect set of tools.
There is a trick, you don’t need to do all the things with tests, only the important, and in those videos you can find answers to “Whats is the piece of code to test it?”.
Those videos are a good training for all Ruby programmers, they show you how to build your code from the start.