I don't know how Rails has gotten the "it's easy" reputation.
I think it's partly because of all the generators, and partly because it
really is easy, considering some of the competition. Yes, there are a lot of
moving parts, but that's really just the nature of the beast for web apps. If
you understand them at all, you're building actual web apps faster than it
would take me to install and configure a database on some other systems I've
tried.
I don't know whether Rails is a good platform to learn on, though I do think
anyone learning Rails also needs to put a significant amount of effort into
learning Ruby itself, outside of a Rails context. That's on top of
understanding how to talk to your datastore directly (SQL for most people) and
how it thinks (relational DBs for most people), all the frontend stuff (HTML,
CSS, JavaScript), and all the communication stuff (DNS, TCP/IP, and especially
HTTP).
It's possible to do interesting things in Rails before you understand that
stuff. Still, the difference between Hello World and an actual app, and the
difference between a few minutes of debugging and an impossible problem, is
that background. Do you know how to grab the HTTP headers out of your Rails
app, and what they mean? Can you play with your app using curl from the
commandline? If you don't understand these things, there are certain problems
which will be much more difficult to solve, no matter how easy Rails (or
anythng else) gets.
In other words:
http://www.joelonsoftware.com/articles/LeakyAbstractions.html
"the abstractions save us time working, but they don't save us time learning."
I think that's what I feel about Rails. I don't know if it's a good beginner
language. Regardless, it's to save you time working, not to save you time
learning -- although if it happens to be easier to learn than other platforms,
that would be cool, too.