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.
A few of the Open Source projects we do at GoRails.
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.
Learn how to use Arrays in your Ruby code
Learn how to use Hashes in your Ruby code
ActionText builds on top of the ActiveStorage file uploads feature in Rails, so we're going to configure Amazon S3 storage so we can upload files in production
Next up, we need to be able to edit and update the passwords in our password manager application
Normalizing data has always been a pain in Rails, but not anymore! Instead of callbacks or overriding setters, Rails 7.1 introduces "normalizes" to make normalizing data easy.
Last but not least, let's update the Video scaffold UI to be more polished so we can trigger syncs and
Next, we need to sync videos using our API client which we'll do with a higher level abstraction to integrate with the API.
Now that we can sync videos to our local database, we need to run this on a regular schedule. We'll use SolidQueue's recurring tasks feature to create cron jobs that run periodically for syncing.
In this lesson, we'll create a job to download a video, extract the audio with ffmpeg, transcribe the video with Whisper, and upload the captions to our hosting provider.
First things first, we need a Link model to store our
Analytics for links is a useful feature so lets record Views for links and show them in a graph
Copy to clipboard is a required feature for a URL shortener. We'll implement this with two JavaScript libraries (clipboardjs and tippy.js) and a Stimulus controller.
We're ready to deploy our URL Shortener to production and we're going to do that using Hatchbox.io
Anyone can add, edit, and delete any Link in our URL Shortener database. Your challenge is to add users, associate links with them and only allow editing of your own links.
Here's how we'd add Users and handle edit permissions for links. See how it compares to your implementation and consider the pros/cons of each approach.
Once our application has lots of links, it will become impossible to use. Let's add pagination to make our application usable once we have hundreds or thousands of links.
In this video, we will explore how the concepts we looked at in "Flattening Scopes in Ruby" are used in Rails by taking a look at the assert_difference method. We will walk through how the method works while taking note of where the concepts are applied.
Learn how to execute Ruby Scripts and interactively run Ruby code in IRB
Learn how Strings work in Ruby
Learn how to use Integers and Floats in your Ruby code
Join 85,376+ developers who get early access to new tutorials, screencasts, articles, and more.
We care about the protection of your data. Read our Privacy Policy.