The first question I think is: Who wants to master Ruby/Rails and related technologies? Very few who aren't already developers - at least not at first. We're all cognitive misers. Most people want to learn the minimum to get the job done. Also, for a complete newbie, learning is usually optional. People need to be encouraged to learn a little and then keep building.
For example, when I've taught others CSS/HTML, I used to start with big overviews and then moved forward. Now, I found it's much more successful to give people the tiniest bits of information they need to do something and then building from there. People learn better when they are eager to learn.
Once they start investing some time learning or trying to build their own application, they'll do what they need to do to keep up. Figuring out how to deploy to Heroku is a minor step once you're already on the path, but as yet another whole additional thing to learn, it's intimidating to non-programmers. In my case, it wasn't until I was knee deep that I started pushing myself toward any level of mastery. When I got going, I learned Rails as I needed it when I needed it.
Ruby/Rails can be learned concurrently. While I knew CSS/HTML and basic JS, I started with the framework not understanding the difference between ruby and rails. At first, I struggled with some ruby syntax, but after I spent a day focused on Ruby basics, I stopped having that problem. I built my knowledge incrementally. This approach may not be for everyone, but I believe it is more likely to encourage continued learning.
It wasn't until after I learned Ruby/Rails, that I needed and started using GIT, picked up JS and over the past three-four years grew to be a decent all around rails developer. My best learning has come from working with other developers on larger projects. As I've learned these things, it's made picking up related technologies nearly trivial. Sinatra and mongoDB were a sneeze to pick up.
If you really want to encourage total newbies to learn Ruby on Rails or any language, you need to provide them with as many tangible benefits along the way. If they take baby steps and can see their success, they will constantly be motivated to continue and (hopefully) to improve.