I haven't used Rails yet in a real project, but I'm a bit worried about the same thing. I've actually shied away from using Django (I'm a Python guy mostly) since they have a bit more magic involved. TurboGears/Pylons/Web.py makes me happiest so far.
The nice thing about these web frameworks is that it makes rapid prototyping easy, and in doing so, it does things which may seem "magical". I would recommend that one should gain a certain level of understanding of what's going on behind the scenes. In doing so, it won't be as "magical" after all.
'... would recommend that one should gain a certain level of understanding of what's going on behind the scenes ...'
The upside of this is you work less & do things faster because there is a lot of functionality pre-built. Solutions become a lot simpler because you are utilising more of the framework, less custom code leaving more time to solve the real problems.