Like others already mentioned...
...this problem comes from not understanding Ruby itself & the basics of programming.
You can't skip that part.
That's why I wrote a complete Ruby tutorial that covers what someone should know before starting with Rails:
Hope it helps :)
Have you tried writing the code after or during the period you are going thru a tutorial? I would advise you read DHH's ruby on rails handbook to get you understanding what you are doing. I feel that an important part of learning Rails is to understand the conventions and read through to understand what is happening.
Jumoh and Matteo nailed it... You are trying to learn a framework with little or no OOP or Ruby experience. The concepts that Rails uses requires some experience in these areas (especially Ruby). Take the time to learn Ruby first and understand how a Object Oriented Programming Language works. There are no shortcuts to becoming a successful developer. You MUST invest time in the basics and get a good grasp of the language first before moving on to a framework.
A good analogy would be you are trying to build a locomotive without ever learning about how they work.
Good luck!
TL;DR
Rails isn't difficult to learn, but you must have rock solid knowledge of OOP
Rails has been created to be easy to use / up and running without much effort. The problem here (IMHO) is that you should start using a framework only after having learnt how to program without it.
Spend some time learning how OOP (Object-Oriented Programming) works. Write down some plain Ruby code and experiment how Ruby works (use IRB from Terminal)
Some good starting points:
I think the problem is probably because of your programming background. If you had good programming background, like understanding how programming actually works, it would really speed up your ability to learn any other programming languages or frameworks. These days, many tend to jump into programming via frameworks (i.e Laravel, Angular, Spring etc.) or Libraries like React. If you start programming like this, it will literally be difficult to quickly pick another framework in another language and get along with it. I will advise you take a step back and ask yourself "am I really good in programming?" or "am only good in framework?". Learn the basic core concept of programming such as programming paradigms, operators, variables, functions, methods , control flows, data structures and algorithms; when you really know how all these work, you will realise that jumping to any language or framework is not big deal because they all have commonalities in semantics, just syntax differences sometimes. I hope this helps!
Elayan Hamamrah
Engineer
With this way, you will be able to apply whatever you learned on different resources. Have an idea? it doesn't matter to be unique, any idea you have just start building it. Add more feature to it, make it advance and start applying ideas into it.
While doing that, learn more about OOP, Algorithms, APIs & Best Practises.