HACKER Q&A
📣 know-how

Learning Ruby on Rails?


I want to learn ruby/rails. The goal is to become proficient to the point of developing tools & products. I understand first principles and have an EE background, but haven't done software development professionally. I have flexibility with schedule, but not looking to take full-time college courses. Thanks in advance for any tips or insights.


  👤 Alifatisk Accepted Answer ✓
I learned Rails by following their own guide https://guides.rubyonrails.org/getting_started.html it's actually pretty good and allows you to grasp the whole concept in your own pace.

There is also The Odin Project, but I haven't tried it myself. https://www.theodinproject.com/paths/full-stack-ruby-on-rail...

A few channels I would also recommend is: Deanin, SuperRails & DriftingRuby. https://www.youtube.com/@Deanin https://www.youtube.com/@SupeRails https://www.youtube.com/@DriftingRuby

Some would also recommend GoRails, but I had a hard time following his guides because most of is videos are just cut-outs from his paid courses. So it was hard to follow with him without the whole context of the project.

I am sure this question has been asked multiple times here on HN so you can search for them and see what others have previously said.


👤 kevg123
I think the hardest part is deciding which gems to use. It's not uncommon to end up with over 50 gems in your Gemfile.

For example, built-in capabilities for authentication are limited: https://github.com/rails/rails/issues/50446

So then do you go with has_secure_password/etc., Devise, rodauth, authentication-zero, or something else? These are big decisions that then might affect other things like authorization, OAuth, PassKey, etc.

And that's authentication & authorization which are a relatively well-understood and maintained area, but other areas might have totally unmaintained gems that might have issues with recent versions of Rails, or native module compilation issues with more recent versions of operating systems, etc.

A lot of Rails guidance on blog posts and StackOverflow might be outdated.

This problem is not unique to Rails. I still think Rails is great and relatively vibrant. Nevertheless, I suggest being very wary of Rails guides, blog posts, and StackOverflow answers that are more than 1 year old and doing a careful study and inventory of gems before deciding to use them and reviewing their relative recent usage and activity.


👤 matt_s
Others have commented the Rails guides on the official site, a great place to start learning. Learn by doing as well with building something.

The latest stuff in Rails 7 (hotwire/stimulus aka turbo-drive, turbo-frames and turbo-streams) might mean you need very little front-end JS if you don't want to learn a bunch about that. Something worth diving into once you learn basics of Rails.

A lot of the opinionated parts of Rails (convention over configuration) are bike shed discussions with other languages/frameworks. I remember countless debates with co-workers on file structure layout for web apps in the 2000's using Java. So many hours wasted, I'd rather be building something, kinda was the lure that got me to transition to Rails.


👤 ezekg
I'd recommend a https://gorails.com subscription and just start building something. You'll get up to speed in no time.