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.
Did you know GitHub Actions supports inputs? You can accept inputs from the user or other actions to be used in your action.
Rubygems.org released a new feature called Trusted Publishing which allows you to release gems directly from GitHub Actions without requiring 2FA or long-lived API tokens. Let's see how it works!
Sometimes you write code to get a feature working and stop there. With a little refactoring, you can extract local variables into methods that make testing and extending easier.
In this lesson, we'll take a look at how a small change to fix some rigid code in the Receipts gem can open up more possibilities.
You might not realize your code has concepts that need to be extracted. Sometimes it's as simple as a small decorator around a Ruby class as we'll see in this lesson.
In this episode, we will learn about handling one-time payments with the Pay gem and Stripe embedded checkout. This is a great approach for non-recurring payments and can be implemented very quickly.
Last but not least, let's update the Video scaffold UI to be more polished so we can trigger syncs and
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.
In this video, you'll learn about a feature of IRB, which is the ability to change context into an object.
Whisper.cpp is an open source C/C++ port of OpenAI Whisper that we can use with Ruby for transcribing our videos. We'll also look at how ActiveStorage runs executables like ffmpeg to see how it works behind the scenes just like with what we're building.
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.
Next, we need to sync videos using our API client which we'll do with a higher level abstraction to integrate with the API.
Next up, we need to sync videos from our hosting provider's API so we'll build an API client from scratch using net/http in Ruby
To start off our automated transcription series, we'll start by creating our database model for
ActiveRecord Aggregations let you use composed_of to combine columns into a single attribute using a Ruby object.
Generators in Rails are in namespaces which allows us to create local generators that use the same name as others. We can use this technique to enhance the Rails scaffold generator by calling it with `hook_for`
Ever wondered how Rails controllers get their functionality? Let's see how we can add translation support to Rails API controllers by looking at the Rails source
Wrapping up our Web Scraper, we debug an issue in production with SolidQueue and some challenges for you to add more features to the web scraper.
Now that our application is deployed to production, we can use a service like Postmark to send real emails.
The next step is deploying our web scraper to production and setting up our cron jobs. We'll deploy our Rails app to a server using Hatchbox.io and configure cron jobs to run our scraping tasks on an interval.
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.