From Ruby syntax to Rails MVC, Active Record, forms and authentication, testing with RSpec, Hotwire, and deploying with Docker and Kamal. In 50 lessons, you'll get to the point where you can build and launch a members-only blog with login. All code, command output, and test results were actually run on Ruby 3.4.10 and Rails 8.1.3.1.
The 50 lessons are split into 7 chapters. We recommend going in order from chapter 1, but feel free to jump to whatever interests you. * Ruby and Rails can't run in the browser, so try things with the Ruby 3.4 you install in lesson 2 and the Rails 8.1 app you create in lesson 9.
Before getting into Rails, you'll learn to write Ruby itself. You'll cover variables and methods, arrays and hashes, blocks, classes and modules, and exceptions, running everything with the ruby command as you go.
You'll create an app with rails new and follow how the three pieces, routing, controllers, and views, connect. By the end of this chapter, you'll be able to add a URL and show your own page.
You'll create tables with migrations and read and write them through models. You'll work through validations, associations, and scopes, and finish by spotting N+1 queries in the logs and fixing them.
You'll accept input with form_with and use Strong Parameters to limit which fields are accepted. You'll write authentication by hand with has_secure_password, then replace it with Devise, and finish by making sure users can edit only their own posts.
So you notice right away when something breaks, you'll run both Minitest and RSpec. You'll create test data with FactoryBot, check whole pages with request specs, and let RuboCop and Brakeman review your style and security holes for you.
You'll use Hotwire to update parts of the page with almost no JavaScript, and Active Job to push heavy work into the background. You'll also cover file uploads, email, and translating your app into Japanese: the things that always come up in real work.
With credentials and environment variables, asset precompilation, and Docker and Kamal, you'll get your app into a shape you can launch. Finally, you'll compare it side by side with Laravel and get a map of where to go next.
Once you finish all 50 lessons, move on to Database Fundamentals with PostgreSQL to learn indexes and query plans in depth, PHP & Laravel Intro Course to see the same kind of full-stack framework in another language, or Intro to Shipping and Running a Service to learn how to run things after launch. A membership unlocks every course.