Skip to main content

Common Features Tutorial Series

Liking Posts
#24 · Pro

Add liking or favoriting to your app like Facebook or Twitter

Markdown and Emoji with the html-pipeline gem
#32 · Pro

Learn how to format text in Markdown using the html-pipeline gem

Comments With Polymorphic Associations
#36 ·

Learn how to set up polymorphic associations, add comments to your app, and think about the structure of your Rails application

Activity Feed From Scratch
#70 · Pro

Learn how to build an activity feed from scratch and how to manage lots of flexible partials

@Mentions, Autocomplete, Notifications, and Links
#78 · Pro

Learn how to add @mentions, autocomplete, notifications, and link parsing

Scheduling Posts
#86 · Pro

Learn how to schedule posts in draft, published, and scheduled modes

In-App Navbar Notifications
#96 ·

Learn how to add in-app notifications like Facebook and Twitter

Repost / Retweet / Reblog
#118 · Pro

Learn how to add the common "Retweet" or "Reblog" functionality in your Rails app with self-referential associations

Message Templates
#122 ·

Learn how to use a template model to populate forms and other objects with

Improving In-App Notifications
#124 · Pro

Learn how to refactor in-app notifications to render server side to simplify your code and templates

Devise Masquerade as another User
#170 ·

Add masquerading (the ability to impersonate or login as another user) to your development or admin environments using the devise_masquerade gem

Select Or Create Field With Selectize.js
#178 ·

Select a record or create a new one for an association in a form using the Selectize.js library

Preferences & Settings with ActiveRecord::Store
#191 · Pro

Use ActiveRecord::Store and ActiveRecord-TypedStore to save user preferences and settings to a single column in the database

Global Autocomplete Search
#192 ·

See how to add global autocomplete and search functionality to your app's navbar

Charts with Chartkick and Groupdate
#194 ·

Add various types of charts to your Rails app with Chartkick and use Groupdate to make easy group queries in SQL

Analytics with Segment
#195 · Pro

Track users and the actions they take in your Rails app and then send them over to various 3rd party services using Segment

Tracking Metrics with Ahoy and Blazer
#196 ·

Tracking business metrics can be time consuming and costly but the Ahoy gem lets you easily track metrics and Blazer makes it incredibly easy to analyze your data

Sortable Drag and Drop
#207 ·

Drag and drop sorting is pretty easy to add to any Rails application using jQuery sortable

Using the Trix Editor plus File Upload Attachments
#209 ·

Learn how to use the Trix editor for editing wysiwyg content and upload attachments like images using Javascript and Shrine

Administrate Custom Fields and the Trix Editor
#211 ·

Use the Trix editor in your admin area using Administrate's custom fields.

Handling Inbound Email Parsing with Rails
#212 · Pro

Learn how to handle inbound emails in your Rails application and use them to create comments in your app

Two Factor Authentication With Devise
#214 · Pro

Using the devise-two-factor gem, we can add an extra layer of security to our apps by having a our users type in a one-time password along with their email and password when they login. We'll be using the Google Authenticator app to login.

Error Tracking with Errbit
#215 ·

Track errors in Rails, Sidekiq, etc in production for free using the open source Errbit app and the Airbrake gem

A/B Split Testing with the Split gem
#216 · Pro

A/B testing (or split testing) is a really common way of testing changes in your app to determine which works best for your users.

Handle 404s Better Using Rescue_from
#226 · Pro

Rather than serving your user's a 404 dead end, we can use the ActiveSupport rescue_from method to give users search results instead and how to reuse this with ActiveSupport Concerns

Undo Sending Button like GMail
#230 · Pro

This episode we build an undo button to stop sending notifications out just like you can hit "Undo" inside of GMail

Auto-detect User Time Zones in Rails
#260 · Pro

Use the jstz Javascript timezone library to help auto-detect and set the user's time zone in your Rails apps

User Referral Program From Scratch
#258 · Pro

How to build a custom Rails referral or affiliate program from scratch

Fast Pagination with Pagy
#261 ·

Pagy is 29x faster at pagination in their benchmarks which makes it an ultra fast and lightweight pagination library

Handling First & Last Name with the name_of_person gem
#267 ·

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

User Avatars with ActiveStorage
#272 ·

Adding user avatars is pretty easy using Rails' ActiveStorage feature. We'll be using Devise in this example, but this applies to any user authentication system.

Autosave Draft Records - Part 1
#281 · 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.

Autosave Draft Records - Part 2
#282 · 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