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.
We need to keep track of the web pages we want to monitor and scrape data from, so let's create our ActiveRecord model for storing this information and a Result model for storing the result each time we scrape a web page.
TailwindCSS is an excellent CSS framework for letting us quickly iterate on design ideas to make our UI much cleaner and easier to use.
When a web page is scraped successfully, we need a way to notify the user. For example, when the Raspberry Pi 5 is finally in stock, we want to know right away with an email.
Now that our application is deployed to production, we can use a service like Postmark to send real emails.
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.
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.
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
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.
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!
Did you know GitHub Actions supports inputs? You can accept inputs from the user or other actions to be used in your action.
Sometimes you need user input to be restricted to a certain range or limited like "greater than zero". While you can do this with conditionals, there are some useful tricks to do this better in Ruby.
In this lesson, we'll dive into some code to add timeouts for an issue with net-ssh with the help of Mike Perham
In this lesson, we will look at how to clean up code that iterates over a collection twice to separate the elements out to only doing so once while achieving the same result by leveraging the partition method from Ruby's Enumerable module.
In this lesson, we will learn how to not only change into a new context in IRB but then how to get back to the previous context by leveraging our workspaces stack in IRB.
Rails 7.2 introduces the allow modern browsers feature but the app:update command wasn't creating the necessary files. In this lesson, we'll walk through writing a pull request to fix this in Rails!
In this lesson, we will learn about the configuration of the new Rails console prompt, how the feature was built, and how we can apply our new knowledge to customize our own IRB console prompts.
In this lesson, we will learn how to leverage built in IRB and Debug commands from Ruby to trace what happens when you run rails console from start to finish.
The Revise Auth gem that I wrote didn't have a consistent redirect mechanism for after sign up or sign in, so this lesson we're going to refactor and write tests to improve this feature.
Ruby's __FILE__ and __dir__ work slightly differently with symlinks that you might not realize. Let's check see how it works.
Honeybadger's new Insights feature is awesome but required manually editing the yaml file to enable. Let's make a pull request to automate this.
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.