1. Starting is fun and easy. A few configurations, sqls and commands and "almost" everything you need is done.
2. First road block comes when you create views which query multiple tables in one go.
3. Life becomes easy again when you have to modify designs and templates. Page templates resides in different folder so html headache is minimum
4. You really have to bang your head in the wall if you try to integrate your app in a portal with an already-present-cookie-based login system!
5. Never ever try to do #4 with a thrid party app.
6. Rails somehow seems very immature with the way DHH changes stuff. Apps created in rails 1.1 doesn't work with rails 1.2. Even ruby versions and "optional" gems create problem and to add to the misery these errors are either cryptic or so insanely-damn-fucking stupid that you won't ever realize that it's a version clash. (A "wrong number of argument "... error surfaced because I had a older RedCloth gem and it was a discovery almost by accident when I out of sheer frustration uninstalled everything and installed everything again)
7. Rails has weird gotcha and it stems from the fact that it is cryptic. An innocent looking column name in a table would give you so much pain that you feel like banging your head against your monitor. Don't do that becuase first it can be dangerous and second it's not your fault. Check out these links
8. Performance of a "default" app sucks big time. A lot of tweaking is necessary to make it fast enough to be barely usable.
More on rails bitching later