How to build a complete, real-world application from scratch with Ruby on Rails step by step.
A lot of Ruby code is "magic". We'll explain the magic and see how it works using the powerful tools Ruby gives us.
Accept subscription and one-time payments with Stripe in your Rails apps
Expert advice on keeping Rails apps organized and fast.
Cheap, easy hosting for Ruby and Rails apps.
Launch your product business way faster with our SaaS template.
A weekly podcast on web development and building products with Ruby, Rails, Javascript, and more.
Build a Ruby on Rails app in 48 hours with us.
Help Junior developers get hired by sharing small projects to build their resume with paid work.
Find your next Ruby on Rails Job.
Blog posts often need cover images for social sharing. In this lesson, we'll add cover image file uploads with ActiveStorage.
Processing inbound webhooks can be tricky. In this lesson, you'll learn how receive, verify, and process webhooks in an efficient and well-organized manner.
URI in Ruby is powerful, but not complete. We can use the PublicSuffix and Addressable gems to take this a step further for parsing domains and subdomains.
The addressable gem adds some nice features over Ruby's built-in URI class, but it doesn't have any helpers for extracting subdomains. In this lesson, we'll add some methods to Addressable to make accessing subdomains easier.
A lot of developers use link_to and button_to interchangeably. In this lesson, we'll explore when you should use link_to and when to use button_to and the differences between them.
We're ready to deploy our Password Manager to a hosting provider. We've chosen Fly.io this time to change things up and see how another hosting service works.
We're ready to spruce up our Password Manager design with a little TailwindCSS.
Now that we have password sharing, it's important to add roles & permissions so users have limited access to actions on shared passwords.
Sharing is caring. Password sharing can be pretty easily implemented by using our join table. All we need to do is add and remove records to add or remove access for a user.
Copying to the clipboard is an incredibly useful feature for a password manager. We always want to copy & paste the username and password to authenticate, so we'll write a Stimulus Controller to add copy to clipboard functionality
OAuth can be hard to understand and debug. Plus, this process is abstracted even further with OmniAuth in Rails. In this episode, we'll walk through t
In this video we explore some potentially unexpected behavior resulting from using Active Record scopes.
Our most popular episode is the Liking Posts episode, so we're revising it and taking advantage of Hotwire to implement the same feature with no custom Javascript
Modules and concerns provide a way to make functionality reusable across your Rails application and other apps. In this lesson, we'll show you how we can refactor our comments functionality to add a feature to any resources in Rails.
Ever wondered how ViewComponent or Phlex works with Rails to build components? Rails has a method called render_in that any object can implement to build custom render functionality like components.
In this episode, we will dip our toes into an Object Oriented Design Principle known as the Law of Demeter. We will then look at an example of a small violation of this principle followed by a couple of solutions to remedy the issue.
Mobile and desktop versions of widgets often need to be completely different. Navigation and tabs on mobile don't work well when there are lots of items so we'll show you how to use Turbo and a select tag for mobile navs.
Bundler 2.4.19 introduces a new "file:" option for specifying the Ruby version file. This makes it easy for you to have a single point of truth for your Ruby version file.
In this episode we discuss how to extend Rails (gently) with Kasper Timm Hansen and a few of his open source gems. The important idea here is for people to try to come up with their own ideas of making Rails better.
In this lesson, we look at the tools we will need to have installed so that we can start on our journey to learning SQL.
Join 82,584+ developers who get early access to new tutorials, screencasts, articles, and more.
We care about the protection of your data. Read our Privacy Policy.