Learning path
Ruby on Rails learning path: everything to study, topic by topic
Comprehensive Ruby on Rails assessment covering Ruby language fundamentals, Rails conventions and architecture, Active Record and database modeling, controllers and views, authentication and authorization, background jobs, caching, testing, performance optimization, deployment, and security best practices.
Short answer
To learn Ruby on Rails, work through 6 modules and 24 topics in the order they build on each other. It starts with Ruby Fundamentals, then moves on to Rails Basics and Models & Database. Use the map as a checklist, or measure your level and study only what is missing.
What you will study
Topics are grouped by module. Open one to see its objectives and key concepts.
1 · Ruby Fundamentals4 topics
Ruby Syntax & Basics
Variables (local, instance, class, global), data types (String, Integer, Float, Symbol, NilClass), string interpolation, conditional expressions, loops, iterators, and method definitions
Objectives
- Write basic Ruby code with proper syntax and conventions
- Understand Ruby's dynamic typing and variable scoping rules
Key concepts
- variable scopes
- data types
- string interpolation
- symbols vs strings
- conditionals (if/unless/case)
- iterators (each, map, select)
- method definitions
- implicit return
Data Structures
Arrays, Hashes, Sets, Ranges, Structs, and OpenStruct. Common enumerable methods, hash manipulation, array slicing, and collection pipelines
Objectives
- Use Ruby collections effectively with enumerable methods
- Choose the right data structure for different use cases
Key concepts
- arrays and common methods
- hashes and symbol keys
- ranges
- Enumerable module
- map/select/reduce
- Struct vs OpenStruct
- array slicing
- hash default values
Blocks, Procs & Lambdas
Block syntax (do..end and {}), yield keyword, Proc objects, lambda literals, closures, method objects, and the & operator for block-to-proc conversion
Objectives
- Explain the differences between blocks, procs, and lambdas
- Use blocks and yield to create flexible methods
Key concepts
- block syntax
- yield keyword
- Proc.new
- lambda vs proc
- closures
- & operator
- method(:name)
- block_given?
Object-Oriented Ruby
Classes, modules, inheritance, mixins, method lookup chain, attr_accessor/reader/writer, access control (public/private/protected), duck typing, and metaprogramming basics
Objectives
- Design Ruby classes with proper encapsulation and inheritance
- Understand Ruby's method lookup chain and module mixins
Key concepts
- class definition
- modules and mixins
- inheritance
- method lookup chain
- attr_accessor
- access control
- duck typing
- method_missing
2 · Rails Basics4 topics
Rails Conventions & Architecture
Convention over configuration, MVC architecture, directory structure, Gemfile and Bundler, Rails environments, autoloading with Zeitwerk, and the Rails philosophy
Objectives
- Explain Rails conventions and the MVC architecture
- Navigate a Rails project structure confidently
Key concepts
- convention over configuration
- MVC pattern
- directory structure
- Gemfile and Bundler
- Rails environments
- Zeitwerk autoloading
- DRY principle
- Rails console
Routing
RESTful routes, resources macro, nested resources, member and collection routes, named routes, route constraints, namespace and scope, and route helpers
Objectives
- Define RESTful routes using the resources macro
- Use nested resources and route constraints appropriately
Key concepts
- resources macro
- RESTful routes
- nested resources
- member and collection
- named routes
- route constraints
- namespace vs scope
- root route
Generators & Scaffolding
Rails generators (model, controller, migration, scaffold), customizing generators, scaffold anatomy, destroying generated files, and when to avoid scaffolding
Objectives
- Use Rails generators to bootstrap application components
- Understand what each generator produces and when to use it
Key concepts
- rails generate command
- model generator
- controller generator
- scaffold generator
- migration generator
- rails destroy
- custom generators
- generator templates
Configuration & Environments
Application configuration, environment-specific settings, credentials and secrets, initializers, config/application.rb, database.yml, and environment variables
Objectives
- Configure a Rails application for different environments
- Manage secrets and credentials securely
Key concepts
- config/application.rb
- environment files
- credentials (rails credentials:edit)
- database.yml
- initializers
- environment variables
- config_for
- custom configuration
3 · Models & Database4 topics
Active Record Fundamentals
Active Record pattern, CRUD operations, query interface (where, find, find_by, order, limit), scopes, pluck, select, and the Arel query builder
Objectives
- Perform CRUD operations using Active Record
- Build efficient queries with scopes and the query interface
Key concepts
- Active Record pattern
- CRUD operations
- where and find_by
- scopes
- chaining queries
- pluck and select
- Arel basics
- raw SQL with find_by_sql
Migrations
Database migrations, schema changes, reversible migrations, column types, indexes, foreign keys, data migrations, and schema.rb vs structure.sql
Objectives
- Write safe and reversible database migrations
- Understand when to use schema.rb vs structure.sql
Key concepts
- create_table
- add_column/remove_column
- add_index
- add_foreign_key
- reversible migrations
- change vs up/down
- schema.rb
- data migrations
Associations
has_one, has_many, belongs_to, has_many :through, has_and_belongs_to_many, polymorphic associations, self-joins, inverse_of, dependent options, and eager loading
Objectives
- Model complex domain relationships with Active Record associations
- Avoid N+1 queries using eager loading strategies
Key concepts
- belongs_to and has_many
- has_many :through
- polymorphic associations
- self-referential joins
- inverse_of
- dependent: :destroy
- eager loading (includes)
- counter_cache
Validations & Callbacks
Built-in validations (presence, uniqueness, format, numericality), custom validators, conditional validations, lifecycle callbacks (before_save, after_create), and callback pitfalls
Objectives
- Implement model validations for data integrity
- Use callbacks judiciously while understanding their risks
Key concepts
- presence validation
- uniqueness validation
- custom validators
- conditional validations
- before_save callback
- after_create callback
- callback ordering
- callback pitfalls
4 · Controllers & Views4 topics
Controllers & Actions
RESTful actions, strong parameters, before_action filters, respond_to, flash messages, redirects, rendering, and controller concerns
Objectives
- Implement RESTful controller actions with proper parameter handling
- Use filters and concerns to keep controllers DRY
Key concepts
- RESTful actions (index/show/new/create/edit/update/destroy)
- strong parameters
- before_action
- respond_to
- flash messages
- redirect_to vs render
- controller concerns
- rescue_from
Views & Templates
ERB syntax, layouts, partials, content_for and yield, view helpers, Turbo Frames and Streams (Hotwire), and asset pipeline vs Propshaft
Objectives
- Build dynamic views using ERB templates and partials
- Understand Hotwire and modern Rails frontend approaches
Key concepts
- ERB syntax (<%= %> vs <% %>)
- layouts and yield
- partials and locals
- content_for
- view helpers
- Turbo Frames
- Turbo Streams
- Propshaft
Forms & Helpers
form_with helper, form builders, nested attributes (accepts_nested_attributes_for), CSRF protection, file uploads with Active Storage, and custom form objects
Objectives
- Build forms with proper security and nested attribute handling
- Implement file uploads using Active Storage
Key concepts
- form_with
- form builders
- nested attributes
- CSRF tokens
- Active Storage
- file uploads
- custom form objects
- strong parameters for nested
API Mode & Serialization
Rails API-only applications, JSON serialization (jbuilder, ActiveModelSerializers, Alba), API versioning, pagination, rate limiting, and CORS configuration
Objectives
- Build API-only Rails applications with proper serialization
- Implement versioning, pagination, and rate limiting for production APIs
Key concepts
- API-only mode
- JSON serialization
- jbuilder
- API versioning
- pagination (Kaminari/Pagy)
- rate limiting
- CORS configuration
- API authentication tokens
5 · Advanced Rails4 topics
Authentication
has_secure_password, Devise gem, OmniAuth for OAuth, JWT authentication, session management, remember tokens, password reset flows, and multi-factor authentication
Objectives
- Implement authentication with Devise or from scratch
- Design secure session management and token-based auth
Key concepts
- has_secure_password
- Devise gem
- OmniAuth
- JWT tokens
- session management
- remember me tokens
- password reset flow
- multi-factor authentication
Authorization
Pundit gem, CanCanCan gem, role-based access control, policy objects, resource-based authorization, admin panels, and multi-tenancy authorization
Objectives
- Implement fine-grained authorization with Pundit or CanCanCan
- Design role-based and resource-based access control systems
Key concepts
- Pundit policies
- CanCanCan abilities
- role-based access
- policy objects
- resource scoping
- admin authorization
- multi-tenancy
- action-based permissions
Background Jobs
Active Job framework, Sidekiq adapter, job queues and priorities, retry strategies, scheduled jobs, idempotency, and job monitoring
Objectives
- Design reliable background job processing with Sidekiq
- Implement idempotent jobs with proper retry and error handling
Key concepts
- Active Job interface
- Sidekiq adapter
- job queues
- retry strategies
- scheduled jobs (sidekiq-cron)
- idempotent jobs
- job monitoring
- dead letter queues
Caching Strategies
Fragment caching, Russian doll caching, low-level caching (Rails.cache), HTTP caching (ETags, Last-Modified), cache stores (Redis, Memcached), and cache invalidation
Objectives
- Implement multi-level caching strategies in Rails
- Design effective cache invalidation policies
Key concepts
- fragment caching
- Russian doll caching
- Rails.cache (low-level)
- HTTP caching (ETags)
- cache stores (Redis)
- cache invalidation
- cache key generation
- conditional GET
6 · Production Rails4 topics
Testing
RSpec framework, factory_bot, request specs, model specs, system specs with Capybara, mocking and stubbing, test coverage, and TDD workflow in Rails
Objectives
- Write comprehensive tests using RSpec and factory_bot
- Apply TDD practices in Rails development
Key concepts
- RSpec syntax (describe/context/it)
- factory_bot factories
- request specs
- model specs
- system specs (Capybara)
- mocking and stubbing
- shared examples
- test coverage (SimpleCov)
Performance Optimization
N+1 query detection (Bullet gem), database indexing, query optimization, Rack middleware, memory profiling, connection pooling, and horizontal scaling
Objectives
- Identify and resolve performance bottlenecks in Rails applications
- Optimize database queries and application memory usage
Key concepts
- N+1 query detection
- database indexing strategies
- query optimization (EXPLAIN)
- Rack middleware
- memory profiling
- connection pooling
- database sharding
- CDN and asset optimization
Deployment & DevOps
Capistrano deployment, Docker containerization, CI/CD pipelines, Puma configuration, Kamal deployment, database backup strategies, and zero-downtime deploys
Objectives
- Deploy Rails applications with zero-downtime strategies
- Set up CI/CD pipelines and containerized deployments
Key concepts
- Capistrano deployment
- Docker for Rails
- CI/CD pipelines
- Puma configuration
- Kamal deployment
- database backups
- zero-downtime deploys
- log aggregation
Security
CSRF protection, SQL injection prevention, XSS mitigation, Content Security Policy, mass assignment protection, secure headers, dependency auditing (bundler-audit), and OWASP top 10
Objectives
- Harden Rails applications against common security vulnerabilities
- Implement defense-in-depth security strategies
Key concepts
- CSRF protection
- SQL injection prevention
- XSS mitigation
- Content Security Policy
- mass assignment protection
- secure headers
- bundler-audit
- OWASP top 10 for Rails
Levels: Junior, Mid, and Senior
Explain it in your own words
Graded by AI · no account · 1 questionNo options to guess from: you write, the AI grades against the topic's rubric and tells you what level your answer reads at.
Already studying Ruby on Rails?
The assessment measures topic by topic, and your plan skips what you already know.
Open to read. An account is only needed to be measured.
Frequently asked questions
Where should I start studying Ruby on Rails?
Start with Ruby Fundamentals: Ruby Syntax & Basics, Data Structures, and Blocks, Procs & Lambdas. The map orders topics by what they depend on, so each one prepares the next.
How long does a full Ruby on Rails assessment take?
A full assessment of this path takes about 45 minutes. Study time depends on where you start; a diagnostic shows which topics you can skip.
Do I need an account to use this page?
No. The map, objectives and key concepts are open. You only need an account to be measured, get your gap by topic and receive a plan.