A good starting point to learn RoR coming from a Django and a bit of Laravel background

I am into Django, know ‘something’ in Laravel (worked in PHP), now need to edit an existing codebase in a year old Ruby on Rails application using somewhat latest versions or Ruby and Rails (may not be absolute latest). This is existing Gemfile : (I assume this is like requirements.txt or a project.toml file)

source "https://rubygems.org"

ruby "3.3.0"

gem "bootsnap", require: false
gem "hotwire_combobox"
gem "importmap-rails"
gem "jbuilder"
gem "pg", "~> 1.1"
gem "puma", ">= 5.0"
gem "rails", "~> 7.1.4"
gem "sprockets-rails"
gem "stimulus-rails"
gem "tailwindcss-rails"
gem "turbo-rails"

group :development, :test do
  gem "debug", platforms: %i[mri windows]
end

group :development do
  gem "web-console"
end

group :test do
  gem "capybara"
  gem "selenium-webdriver"
end

gem "colorize", "~> 1.1"
gem "devise", "~> 4.9"
gem "foreman", "~> 0.88.1"
gem "gon", "~> 6.4"
gem "http", "~> 5.2"
gem "kt-paperclip", "~> 7.2"
gem "lucide-rails", "~> 0.5.1"
gem "sidekiq", "~> 7.3"
gem "simple_form", "~> 5.3"
gem "slim-rails", "~> 3.6"
gem "snaptrade", "~> 2.0"
gem "view_component", "~> 3.20"

What is a good starting point to learn Ruby and RoR ?

So far I’ve come across this - https://courses.bigbinaryacademy.com/learn-rubyonrails/ - but it says to remove some unwanted parts like bundle remove capybara selenium-webdriver and turbo-rails and stimulus-rails.

Hi,

A couple of things from your Gemfile suggest that this isn’t a “learn Rails from scratch” situation. You already have a fairly standard Rails 7.1 application using Devise, Sidekiq, Hotwire etc., so I’d spend a day or two learning the Ruby language (blocks, modules, symbols, Enumerable, etc.) and then jump straight into Rails conventions.

Coming from Django and Laravel, you’ll find that many of the concepts map over pretty neatly, e.g. models, migrations, routing, controllers, templates, background jobs etc.

I would also be careful with the BigBinary course. It looks like a good resource, but the instructions to remove gems are aimed at creating a clean tutorial application. I wouldn’t modify an existing project just to follow along with a course. Instead, use the course to understand the framework.

However, in my opinion a better learning path is the official Rails Guides.

If I were in your situation, I would spend a day learning Ruby, then work through the official tutorials while reading the existing codebase and using ChatGPT to check my understanding.

HTH