What's a web framework?Edit
For ages people have programmed web with Perl and PHP. These languages did not have a definite pattern. People could do any thing with it. Put code in middle of web pages, connect to database from any where, put images into any folder and insert into web pages and so on and so forth. All this created a messy, lengthy code which when written by one programmer was quiet unreadable by another. Even the programmer who wrote it wasn't quite able to decipher it returning to code after months.
Many open source projects emerged. They all promised and mostly delivered a good web development experience. For example Python language got Django, Turbogears. PHP got Symfony, Codeigniter, PHP on Tracks. Ruby got Merb, Rails ...
Out of these frameworks Ruby on Rails, or Rails for short, has shot into popularity. Why so? Read the book and you will know.