Good question. This made me think about who the target audience for Rails is. I have a lot of respect for the creators of Rails (37signals), and their business philosophy has really come to resonate with me over the years. What I gather from listening to them and reading their opinions, the target audience has always been themselves. Of course a huge community grew around rails, but as I understand it the opinion of 37signals still weighs heavily.
The fact that a large community grew around Rails, including lots of beginning web developers, speaks to the fact that many beginners did find Rails to be a good starting point.
My personal opinion is that the approach of little to no magic, i.e. explicitly passing dependencies, reducing top-level side effects, etc. is a very good default.
Frameworks are about inversion of control: You provide code in slots defined by the framework, and the framework is the driver. The cost of that approach is flexibility. The win is that there is a lot of glue that you don’t have to write. As long as your needs are covered by the framework there is a lot to like.
For the kind of programs I want to write at the moment, I would like to see a data presentation framework with just a sprinkling of magic. I believe most frameworks in Clojure at the moment are not really frameworks, but curated sets of libraries wrapped in another library. I’m missing the inversion of control that makes a framework a framework, and is what really reduces implementation effort.