The rails themselves are quite complicated. I already did not see an error in the structure itself, until I duplicated open tickets.
If the problems you see have sneaked into several different areas:
We have moved as a community from Ruby 1.8.x to 1.9 in the last year or so, and some gems have a specific version of Ruby requirements that need to be checked before using them. Most popular gemstones are good and proven to work in multiple environments. Read the docs first.
Rails itself has matured significantly over the past few years, and this has meant many features are outdated. Lots of plugins there were written for an older version and expect behavior that is simply invalid. Read the docs first.
Several Ruby interpreters are now available (which is great), but sometimes they can have an effect on third-party code, but this is rare. Basically, some gems and plugins are expected to work on a particular interpreter. None of the really popular ones like this, but you need to know some gem builders - idiots. Read the docs first.
You may notice that at the end of each point there is a common theme: first read the documents. :-)
I would say that your experience is not typical of most Rails workflows, although we all have our best from time to time.
You will quickly find out which jewels are trustworthy, which ones you will need, but they can fight from time to time (mysql is the creature that kills me on OS X every time), and which ones you should avoid.
In general, however, the development cycle is more flexible (and you will grow at a faster pace) with Rails, as soon as you have your own relationship, and accept good practice. There is a reason we all love TDD and BDD, although if nothing else helps us get through the gem update, knowing that the material still works when a developer we don't know did something ridiculous: -)
source share