But the churn on gems is very painful. To be successful with Rails long term, you must make time to constantly upgrade your framework, for for too often a gem maintainer will just stop supporting older versions of the framework.
And all of a sudden the version you need won't build, or isn't compatible with something else, etc.
So Rails is great. It saves you tons of time and gives you rock solid web apps that talk to databases. As long as you don't fall behind in your gem versions. :)
That's me speaking after maintaining several apps from Rails 1 all the way to 4.2. And probably 5.
I don't here about people being bug free with TDD ( though significantly less bugful)
Obviously all about tradeoffs, but my impression is that if a third party lib needs a major version update, the time changing the version in your requirements is dwarfed by the time needed to investigate generally
(Disclaimer, some friends of mine made it)
It's still better than JavaScript, where whatever popular build tool you use today will be replaced in 6 months :D
Although it may not have every new shiny bell and whistle, the ecosystem is mature enough to be stable and to have developed accepted best practices, which means you don't need to worry about whether the tool you use is still going to be supported in 6 months time.