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
12m

ActiveRecord Default Scopes, Unscoped, and Unscope

Jun 22, 2021 Pro

ActiveRecord default_scopes are incredibly useful for some features like soft delete. But sometimes we need to undo a scope, so that's where unscope comes in.

4
11m

Realtime Nested Comments: Part 2

Feb 08, 2021

Hotwire lets us broadcast changes so we can use the same approach for nested comments, but in realtime!

7
20m

Realtime Nested Comments: Part 1

Feb 02, 2021

Hotwire lets us broadcast changes so we can use the same approach for nested comments, but in realtime!

6
15m

Slug History & Redirecting Old Slugs with FriendlyID

Jan 25, 2021 Pro

Updating slugs

1
14m

Testing against multiple versions of Ruby, Rails, and Databases with GitHub Actions

Nov 30, 2020 Pro

Testing a gem or your Rails app against multiple Ruby and Rails versions is super useful, but we also take it a step further and test our gem against several different databases too

0
13m

Drag and Drop sortable lists with Rails & Stimulus JS

Apr 28, 2020

Drag and drop sortable lists in Rails aren't too hard using Sortablejs and Stimulus to make wire them up to our backend with acts_as_list

23
5m

Tracking online users with timestamps

Feb 03, 2020

We can use timestamps in our database to track of online users in your Rails

2
9m

How to Test Validations in Rails

Sep 05, 2019

Learn how to write tests for validations on ActiveRecord objects in Ruby on Rails

2
14m

How to use Multiple Databases in Rails 6.0

Aug 27, 2019

With Rails 6.0, you can now define multiple primary and replica databases, define separate migrations for each primary database, and configure each model to read and write from different databases.

1
10m

Handle Race Conditions with Pessimistic Locking

Aug 22, 2019 Pro

Race conditions can cause problems with data integrity. We can prevent these issues with Pessimistic Locking in ActiveRecord which uses database row-level locking.

1
10m

Preventing Conflicts with Optimistic Locking

Aug 15, 2019 Pro

When things (users, jobs, etc) attempt to update the same record at the same time, we can often lose changes. Optimistic locking uses a lock version number to warn you about updating stale objects so you can handle that safely.

2
20m

@mentions for Users with ActionText in Rails 6

Mar 11, 2019

Mentioning Users with an @mention is a super common feature. Trix and ActionText are now part of Rails 6 which means we can very easily add support for tagging users with @mentions and other custom attachments in your applications.

3
23m

Dynamic Nested Forms with Stimulus JS

Feb 07, 2019 Pro

Don't like Cocoon or it's jQuery dependency? We can use Stimulus JS and build dynamic nested forms in Rails with accepts_nested_attributes_for from scratch pretty easily!

37
11m

Autosave Draft Records - Part 2

Jan 31, 2019 Pro

Creating draft records in your database can be tricky. We'll be using the Draftsman gem to help us create draft versions of our records with our autosave Javascript

1
17m

Autosave Draft Records - Part 1

Jan 23, 2019 Pro

Autosaving draft records allows you to make sure users don't lose their work and can easily write draft content without publishing right away. We'll be using Stimulus to build an autosave controller for our form and Draftsman to power the backend.

5
10m

Handling First & Last Name with the name_of_person gem

Oct 17, 2018

Deciding whether or not to have separate first and last name fields gets a bit confusing. Basecamp's recently released name_of_person gem shows you exactly how to handle this reliably and also stands as a fantastic example of how to build a concern

4
17m

Reddit style comment thread pagination

Oct 08, 2018 Pro

Adding pagination to our nested comment threads is easier than you might think, plus we'll take a look at a couple different approaches we can use

8
6m

Deleting Comments In Nested Threads

Oct 02, 2018 Pro

Nested comment threads pose a lot of unique challenges. One of these is deleting comments because you can easily lose the child comments or context. We'll take a look at a couple great ways of handling this.

5
14m

Nested Comment Threads in Rails - Part 3

Sep 26, 2018 Pro

Using AJAX, we can submit our comments and have them render onto the page without a page refresh.

13
20m

Nested Comment Threads in Rails - Part 2

Sep 18, 2018 Pro

Implementing polymorphic, reusable comments across models and limiting the nesting allowed for nested comment threads

5
<12345>
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.