View screencasts by curated topics.
Dive into the archive of all episodes.
Race conditions can cause p...
Setup your development environment.
Configure your production server.
Learn how to modify production to run websockets.
Add liking or favoriting to your app like Facebook or Twitter
Learn how to format text in Markdown using the html-pipeline gem
Learn how to set up polymorphic associations, add comments to your app, and think about the structure of your Rails application
Learn how to build an activity feed from scratch and how to manage lots of flexible partials
Learn how to add @mentions, autocomplete, notifications, and link parsing
Learn how to schedule posts in draft, published, and scheduled modes
Learn how to add in-app notifications like Facebook and Twitter
Learn how to add the common "Retweet" or "Reblog" functionality in your Rails app with self-referential associations
Learn how to use a template model to populate forms and other objects with
Learn how to refactor in-app notifications to render server side to simplify your code and templates
Add masquerading (the ability to impersonate or login as another user) to your development or admin environments using the devise_masquerade gem
Select a record or create a new one for an association in a form using the Selectize.js library
Use ActiveRecord::Store and ActiveRecord-TypedStore to save user preferences and settings to a single column in the database
See how to add global autocomplete and search functionality to your app's navbar
Add various types of charts to your Rails app with Chartkick and use Groupdate to make easy group queries in SQL
Track users and the actions they take in your Rails app and then send them over to various 3rd party services using Segment
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
Drag and drop sorting is pretty easy to add to any Rails application using jQuery sortable
Use the Trix editor in your admin area using Administrate's custom fields.
Learn how to handle inbound emails in your Rails application and use them to create comments in your app
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.
Track errors in Rails, Sidekiq, etc in production for free using the open source Errbit app and the Airbrake gem
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.
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
This episode we build an undo button to stop sending notifications out just like you can hit "Undo" inside of GMail
How to build a custom Rails referral or affiliate program from scratch
Pagy is 29x faster at pagination in their benchmarks which makes it an ultra fast and lightweight pagination library
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
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.
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.
Add onboarding steps for new users and show their completion progress so they can check items off the list, learn how your product works, and get the most out of it.
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.
Race conditions can cause problems with data integrity. We can prevent these issues with Pessimistic Locking in ActiveRecord which uses database row-level locking.