I think you have to be very active in assessing your knowledge, and admitting what you don’t know. I find it easy to follow along with a tutorial and say to myself ‘Oh that makes sense!’. However, if I’m trying to solve the same problem on my own, the thought process seems foggier and I second guess myself.
One process I use is if I hit a road block in my understanding, I’ll write the issue down no matter how big or small the issue is. It can even be a simple syntax issue. But I’ll write down in a .txt what the problem is, and then I’ll dive into SO, Google, Railscasts, this forum, etc. and try to find the answer (if it is a concrete issue) or find different opinions. I’ll copy and paste the links to the pages that helped me find the answer.
The last and probably most important step is to articulate the answer to the original problem in your own words. I think writing down your own rational is super important because you must actually understand it. You can’t think about the problem, make leaps in logic and give yourself the satisfaction that you actually grasp the concept.
Writing it down also is a good way to go over the problems you’ve had and how you solved them. It also provides a nice journal of your progress.
I’m actually thinking about making an Rails app to use for just this work flow, because doing it in a .txt file can get a bit hairy.