This learning plan is designed for someone new to both Ruby and Rails.
It'll start you off on the Ruby path and then introduce Rails.
I recommend you have a good fundamental understanding of Ruby before learning Rails.
This document was created by Sean Lerner.
Some of the recommended books are available for free on the web. Others can be purchased or accessed through O'Reilly.
The O'Reilly monthly plan is a little expensive, but there are ways to access it for free or on the cheap:
-
Your local library may offer access to free. For example, the Toronto Public Library system does.
-
Your employer may already have a team membership or provide you a learning budget.
First go through Learn Ruby The Hard Way:
https://learnrubythehardway.org/book/
After you complete a few exercises from Learn Ruby the Hard Way, sign up to Exercism and register for the Ruby track:
https://exercism.io/my/tracks/ruby
They have 'mentor' and 'non-mentor' modes: go with non-mentor mode (as with mentor mode, you won't be able to progress until a mentor reviews your submissions, which can take a while). Instead, if you get stuck, you can reach out to me for help.
- Learn Ruby the Hard Way
- Ruby Exercism track
If you are new or uncomfortable working on the command line, do this quick Command Line Crash Course:
https://learnpythonthehardway.org/python3/appendixa.html
After you've completed Learn Ruby The Hard Way go through Eloquent Ruby:
http://eloquentruby.com/
The chapters are small and easily digestible.
- Eloquent Ruby
- Ruby Exercism track
About half way through Eloquent Ruby, start doing the Michael Hart Rails Tutorial.
The first 3 chapters are free online and it's also available through O'Reilly books:
https://www.railstutorial.org/
- Eloquent Ruby
- Michael Hartl Rails Tutorial
- Ruby Exercism track
About half way through the Rails Tutorial, start interspersing your other learning with the content on Think Like (a) Git:
http://think-like-a-git.net/
- Eloquent Ruby
- Michael Hartl Rails Tutorial
- Ruby Exercism track
- Think Like (a) Git
If you'd like to dive deeper on some of the above topics, try thoughtbot's Upcase learning trails:
https://thoughtbot.com/upcase/practice
There are many popular editors. Knowing your editor well is key to levelling up as a developer. At the time of this writing, popular editors include Sublime, Atom, VS Code, Vim, Emacs, and RubyMine. There's too many editors to provide good suggestions on where to look to learn your editor of choice better, so I recommend you seek this material out yourself.
(however, the author of this document uses Sublime, and he recommends you try https://sublimetextbook.com/ if you choose to go with sublime)
These video tutorials will get you started:
Use Case Diagram
Sequence Diagram
Class Diagram
If the above isn't working well for you, try some of these alternate options.
Instead of Learn Ruby the Hard Way and Eloquent Ruby, try:
The Ruby Way:
http://therubyway.io/
Instead of Exercism, try:
Codewars:
https://www.codewars.com/
HackerRank:
https://www.hackerrank.com/
Ruby Koans:
http://rubykoans.com/
If video is more your learning style, you can try Lynda's courses instead of the books:
Ruby Essential Training:
https://www.lynda.com/Ruby-tutorials/Ruby-Essential-Training-1-Basics/769286-2.html
Ruby on Rails 6 Essential Training:
https://www.lynda.com/Ruby-Rails-tutorials/Ruby-Rails-6-Essential-Training/2825370-2.html
The Odin Project offers learning paths similar to this document:
Ruby Programming:
https://www.theodinproject.com/courses/ruby-programming
Rails on Rails:
https://www.theodinproject.com/courses/ruby-on-rails