I’ve been using Ruby on Rails as my primary server-side programming language/framework for about 8 years now. For better or worse, I think it’s been a good choice to balance productivity with flexibility.
However, I often meet other developers-to-be who have extreme difficulty getting started. Often, I find that they have very little foundation in other areas critical to web development. To be clear, that‘s nothing to be embarrased about. It takes courage to learn new skills. I’m a big proponent of getting started with Rails quickly. There is nothing as motivating as seeing your first app render a page on the internet (It’s alive!). Yet Rails makes no sense if you don’t have an understanding of version control, HTTP, command line, and Ruby.
So here’s my guide of recommended resources before learning Rails.
The point is that learning to code is hard. That’s why it’s generally a fairly well-paid profession. Understand that the pain you feel during problem solving is simply the pressure of knowledge forcing itself into your brain.
The command line is an interactive text-based interface to your computer (for Mac or Linux). You do need to know how to use CLI based tools, look at their help commands, and know how to move around directories. Don‘t skimp on that. But also don‘t worship the command line because it makes you look like a pro. I‘ve met many beginners who spend days tweaking their emacs configs rather than learning how to code. No one ever said: "This app is great! It must have been written in emacs!"
Developer usually store and share their code in something called a Version Control System (VCS). This allows them to track changes to their code over time and also collaborate. Git is the most popular VCS that is used in the Ruby on Rails world. GitHub is the most popular website used to host git repositories. As such, it’s pretty important to have a basic handle on git.
Ruby is the programming language used in the Rails framework. So you have to get a basic sense of how it works before moving forward. Ruby is a very developer-friendly language and doesn’t have a lot of messy punctuation in its syntax. If you do move onto Rails and find yourself confused about Ruby syntax (not necessarily the way Rails uses it), STOP and do more Ruby exercises.
So you’ve started figuring out this Ruby thing; however, you may still know nothing about web apps, how they work, and why they are crucial to building useful websites. You need to. I would watch a few basic videos on YouTube to get a sense of how the internet and web applications work. Remember Rails is simply a framework for how to write a web application using the Ruby programming language.