Logo Logo white GoRails
Path Series Lessons Forum
Courses
Rails for Beginners

How to build a complete, real-world application from scratch with Ruby on Rails step by step.

Advanced Ruby: Behind the Magic

A lot of Ruby code is "magic". We'll explain the magic and see how it works using the powerful tools Ruby gives us.

Payments with Rails Master Class

Accept subscription and one-time payments with Stripe in your Rails apps

Refactoring Rails

Expert advice on keeping Rails apps organized and fast.

Learn Hotwire

Learn how to build fast, modern web apps with HTML over the wire.

Content
Install and Deploy Rails Guides

Setup your computer with Ruby on Rails and deploy to a production server.

Apps
Hatchbox.io

Cheap, easy hosting for Ruby and Rails apps.

Jumpstart Rails SaaS Template

Launch your product business way faster with our SaaS template.

Other
Remote Ruby Podcast

A weekly podcast on web development and building products with Ruby, Rails, Javascript, and more.

GoRails Open Source

A few of the Open Source projects we do at GoRails.

Rails Hackathon

Build a Ruby on Rails app in 48 hours with us.

Beginner Bounties

Help Junior developers get hired by sharing small projects to build their resume with paid work.

Ruby on Rails Job Board

Find your next Ruby on Rails Job.

Pricing
Log In Sign Up
13m

Delegate Types

Jul 14, 2025 Pro

In this lesson, we will look at the why and how of working with Delegated Types from Rails

0
7m

Exploring PostgreSQL Tuples Rails PR

Jul 07, 2025 Pro

Rails tracks the row count and affected rows for queries made with ActiveRecord. A recent PR makes a tiny, but important change to the PostgreSQL adapter to make the row count significantly more efficient.

2
12m

Nested Layouts with Rails

Jul 01, 2025 Pro

Using nested layouts, we can reuse an entire layout and include some additional HTML like a sidebar without using partials.

0
19m

Meta Tags from Scratch with Current Attributes, ActiveModel & render_in

Jun 23, 2025 Pro

Managing meta tags can be a pain, but we can use Rails features like Current Attributes, ActiveModel and render_in to create an easy meta tag manager from scratch.

6
11m

Adding Turbo Frame Test Helpers

Jun 16, 2025 Pro

Learn how to write your own test helpers to build assertions. In this lesson, we're adding some test helpers to the turbo-rails gem to assert that turbo-frame tags in the response.

1
8m

Displaying Online Users

May 26, 2025 Pro

In this lesson, we will look at an extremely simple way to implement keeping track of and displaying the online/logged in status of users in our chat application.

0
14m

Scrolling To Unread Messages

May 19, 2025 Pro

Showing users that they have unread messages is nice but it would be nicer if we scrolled them to the start of those unread messages when they visit a conversation which is what we will implement in this lesson.

0
16m

Inline Editing Messages

May 13, 2025 Pro

Let's add the ability to edit the contents of our messages and broadcast page refreshes so that everyone can see the latest version of our messages.

2
17m

Unread Messages Indicators

Apr 28, 2025 Pro

Continuing on in our chat app with Hotwire, we are going to be implementing the ability to indicate to users that they have unread messages in conversations.

0
15m

Dynamic CSS For User Specific Styling

Apr 21, 2025 Pro

Let's look at how to apply CSS to the current user only to create a better UX for reading messages without using any JavaScript

1
13m

How to Debug Ubuntu and Debian Packages

Apr 14, 2025 Pro

We spend most of our time working with Ruby gems and node modules, but on the rare occasion, we might need to debug an Ubuntu / Debian package. In this lesson, we'll see how these packages work and debug something in the PostgreSQL package.

4
11m

Refactoring Madmin Pagination

Mar 31, 2025 Pro

In this lesson, we dive into the Pagy source code to learn how to best refactor pagination inside of our own code.

0
17m

A Simpler Build with Broadcasts Refreshes

Mar 26, 2025 Pro

In this episode, we refactor our code to use broadcasts_refreshes to get an extremely simplified version of a chat application.

2
21m

Stimulus Autoscroll and Broadcasting Messages

Mar 10, 2025 Pro

We handle scrolling the most recent message into view upon page load along with any new messages that come through while on the page. We also broadcast new messages so everyone stays up to date.

6
23m

Message Form Handling with Stimulus

Mar 03, 2025 Pro

We take care of submitting a message without having to click the form button, and fix an issue we create in doing so around replacing the form. We end with planning our next steps.

9
24m

Handling New Messages with Turbo Streams

Feb 24, 2025 Pro

We explore the base application and create a turbo stream to append messages and reset the form. We then identify limitations in this approach, and outline necessary improvements for upcoming episodes.

8
5m

Structured Output with Gemini 2.0

Feb 17, 2025 Pro

Like many AI models, Gemini 2.0 can respond with structured output in a JSON schema that you provide in your request. This is incredibly handy for making integrations that don't have to rely on parsing a blob of text.

3
15m

AI Summaries in Rails with Gemini 2.0

Feb 10, 2025 Pro

AI summaries are in every application these days. In this lesson, we'll use Google's new Gemini 2.0 AI model and API to generate summaries of text that we can use in any Ruby or Rails app.

6
12m

Lazy Requiring Dependencies in Ruby

Feb 03, 2025 Pro

Normally, we require dependencies at the top of files, but today we'll see where and when we might want to lazily require dependencies.

8
7m

Hash Fetch with Default Value

Jan 27, 2025 Pro

In this screencast, we explore Ruby's Hash#fetch method and how it handles default values. We show how providing a direct default value vs a block affects performance, especially important in Rails apps where unnecessary operations can impact speed.

6
<12345…20>
Filter By
All Episodes Free Episodes Pro Episodes
Sort By
Published Date Popularity
Categories
ActionCable ActionMailbox ActionText ActiveJob ActiveModel ActiveRecord ActiveStorage ActiveSupport Administration APIs Authentication Authorization Background Jobs Basics Caching Code Organization Code Review Comments Complete App Concerns Controllers Credentials CSS CSV Debugging Deployment Design Patterns Development Docker Emails Ember Errors File Uploading Fixtures Forms Frontend Gems Generators Geocoding Helpers Hotwire Internationalization iOS Javascript JavaScript Maps Messaging Metaprogramming Middleware Mobile Models Multitenancy Notifications OAuth Open Source Pagination Payments Performance Production Rack Rails 4.2 Rails 5.0 Rails 5.1 Rails 5.2 Rails 6 Rails 7 Rails 7.1 Rails 7.2 Rails 8 Rails Engines React Native Refactoring Routes Ruby Search Security Servers Sharing SQL Testing Timezones Turbo Turbolinks Upgrading Views VueJS Webhooks Webpacker

Learn Ruby on Rails, Javascript, Hotwire, Turbo, Stimulus.js, PostgreSQL, MySQL, Ubuntu, and more with GoRails tutorials.

Twitter GitHub

Solutions

  • Ruby on Rails Tutorials
  • Rails Learning Path
  • Rails Courses
  • Rails SaaS Template
  • Deploy Ruby on Rails
  • GoRails Open Source
  • Ruby on Rails Tools
  • Ruby on Rails Jobs

Support

  • Pricing
  • Teams
  • Testimonials
  • Help

Company

  • About Us
  • Blog
  • Remote Ruby Podcast

Legal

  • Privacy Policy
  • Terms of Service

© 2025 GoRails, LLC. All rights reserved.

Proudly built with Jumpstart and hosted with Hatchbox and DigitalOcean.