Skip to main content
F4a4bd8a8dff73e4960015d4fc501ae5

Common Features Tutorial Series

Fallback 24:13
Liking Posts
#24 · Pro

Add liking or favoriting to your app like Facebook or Twitter

Fallback 17:3
Markdown and Emoji with the html-pipeline gem
#32 · Pro

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

Fallback 23:35
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

Fallback 23:02
Activity Feed From Scratch
#70 · Pro

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

Fallback 27:50
@Mentions, Autocomplete, Notifications, and Links
#78 · Pro

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

Fallback 33:22
Scheduling Posts
#86 · Pro

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

Fallback 40:07
In-App Navbar Notifications
#96 ·

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

Fallback 20:53
Repost / Retweet / Reblog
#118 · Pro

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

Fallback 22:41
Message Templates
#122 ·

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

Fallback 19:08
Improving In-App Notifications
#124 · Pro

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

Fallback 11:02
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

Fallback 27:26
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

Fallback 16:16
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

Fallback 24:01
Global Autocomplete Search
#192 ·

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

Fallback 18:07
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

Fallback 21:59
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

Fallback 21:34
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

Fallback 12:32
Sortable Drag and Drop
#207 ·

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

Fallback 22:23
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

Fallback 10:12
Administrate Custom Fields and the Trix Editor
#211 ·

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

Fallback 21:42
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

Fallback 30:59
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.

Fallback 16:57
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

Fallback 16:39
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.

Fallback 13:06
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

Fallback 24:17
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

Fallback 20:07
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

Fallback 18:25
User Referral Program From Scratch
#258 · Pro

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

Fallback 11:17
Fast Pagination with Pagy
#261 ·

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

Fallback 10:16
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

Fallback 11:47
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.