Hi everyone. I taught myself ruby and rails using some of the online resources about a year ago. I built a basic rails app that provides you with a workout based on the equipment and time you have (http://workoutx.nickkarrasch.com).
After that I thought the next thing to do was to just "build things", and this is what everyone recommended I do to keep learning.
The problem is I'd try to build things and then run into problems which were just too advanced for me. I'd try to utilize resources like stack overflow but I would always pick a project that had an element that was too complex for me. Don't get me wrong, I would do lots of research and spend hours trying to solve the problem, but the problem would just be too complex for my skill level. The most annoying part is I wouldn't know that until I got in. So the last several things I've tried to build I've just been unable to get over specific hurdles and complete them.
I feel like I need some kind of intermediate level ruby exercises, or alternatively need some guidance on what I should try and build. I want to try and build something that is a challenge but is possible at my skill level, and not take on something that has an element which is far too complex for me to complete.
Does anyone have any suggestions on how to keep moving forward? How can I take on projects or challenges but know they are not going to be way too complex?
Alternatively, if you feel you are stuck, you might be using a suboptimal approach to solving these problems. Usually any complicated program can be broken down into approachable and smaller chunks. You could also write a really crappy, but working version and use http://codereview.stackexchange.com/ to get your code in better shape.
"Intermediate exercises" by themselves probably will not help you as much as other activities. You've already stated that you continuously run into these walls. It might be good to do some analysis on why, and talk with others on what makes these problems so challenging. Working through these challenging parts can be ridiculously insightful and fruitful in clarifying your understanding of something, or fixing bugs in your mental models.
A couple other related thoughts: You could use your side project as a playground to practice new concepts as you learn them. Also you could get a willing and experienced mentor.