I tried learning Rails in 2018 by doing Hartl’s Rails Tutorial but eventually gave up. I bit off more than I could chew.
I finished Pragmatic Studio’s Rails I course and it gave me the skills to build a CRUD Rails app from scratch. That speaks volumes about how great this course truly is
The course features 26 video chapters that walk you through creating a Rails app to finishing a full featured application. Check out my modified version of the Movie App that I built while going through the course.
Mike and Nicole, the instructors, do a wonderful job teaching beginner developers. You feel as if they are in the room with you, looking over your shoulder and guiding you.
The course is not simply a video code-along. After watching Mike and Nicole explain concepts and build an event registration app, you get to apply lessons in each video to building a similar movie inventory app. You retain more of what you’ve learned because you’re writing code yourself.
Am I ready to learn Rails?
If you’re new to development and don’t understand object oriented design, then I strongly recommend you take their Pragmatic Studio Ruby Course first. Here’s how I went about learning Ruby and some tool recommendations.
Without having a solid understanding of Ruby, you won’t know what’s Ruby and what’s Rails syntax and quickly become overwhelmed.
Once you understand Ruby, you’ll feel comfortable learning the Rails framework.
Do both apps and take notes
When I finished the course, I had two Rails applications: events and movies. If you work on both, you’ll reinforce your understanding and recall as you build these apps.
I also took detailed notes in a google doc. As I watched each video, I paused and took notes on what the instructors were doing. I ended up with over 100 pages of notes with various screenshots showing the process of building a rails application.
I recommend taking notes because when you end up building your own app, you’ll refer to your own notes when you’re stuck. You’ll be familiar with them because you wrote them. If you ever want to write blog articles about Rails, these notes will help you remember concepts. Finally, when it comes to interviewing for jobs, your notes are your trusted study materials.
When I finished the course, I returned to TDD and went through it. TDD made much more sense afterward! I saw the value in automated testing with Rspec and Capybara.
Rails I course took me about 2 months to complete. I used git to version control the app I was building and pushed code to GitHub.
As a new developer, GitHub is a great way to show your progress publicly. If your goal is to start a career in software development, you’ll have weeks of progress to show for your hard work.
GitHub for Poets is an excellent series to ease you into Git and GitHub.
IDE and Environment
RubyMine is an integrated development environment (IDE) made specifically for Ruby and Ruby on Rails.
Although you can install proper plugins for Sublime Text to give you autocomplete, it’s an extra step for a beginner. Autocomplete was a life saver when writing Ruby. RubyMine also has an easy interface for version controlling with Git.
Although I use Windows OS, I ran Ruby on Rails in a Linux environment. It’s less frustrating to run Ruby in Mac OS or Linux.
Leaving design until the end
The course covers HTML structure and CSS design briefly. You’re given finished CSS in the middle of the course so that you can focus on app functionality rather than design.
The HTML structure used tables for forms. While going through the course, I kept the structure as simple as possible and used paragraph tags instead of tables. I didn’t want HTML tags to obscure Rails syntax.
The result was that my app looked super simple and unpolished, but had full functionality. It was easy to see all the moving parts. As I was nearing the end, I added proper tables to each page and polished up the CSS.
Rebuild your app at least once
There’s a lot to learn in this course. Learning new material is hard. I knew that if I went straight through the course without reflecting on what I learned, I’d forget the previous chapters.
When I got to the optional TDD section of the course (about 30%), I created a new rails app and tried to rebuild the app from scratch (without TDD). I used my notes to help me get through roadblocks.
As I rebuilt the new app and caught up to 30% of the course, I continued building until I reached 60% of the course and rebuilt everything from scratch again. I then finished up the app
It’s more work to rebuild the app from scratch several times but it’s worth it. When you finish the course, you won’t say “Uh, where do I start if I want to build my own Rails app?”.
You’ll have the confidence to build a Rails app from scratch.
Rails I course will teach you how to build a solid CRUD application and relate tables by creating reviews for your list of movies. You’ll understand the magic behind Rails. You’ll appreciate what scaffolding does because you’ll build your own scaffold from scratch. It will give you the confidence to look at other Rails apps and understand what’s going on.
I highly recommend the Rails I course.