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.
In this video, we will be looking at how to better debug issues in our programs and applications by leveraging the Ruby Debug gem.
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 will be learning how to use strace to watch our system calls which we can then use to help debug issues further.
Rails' ActiveRecord supports virtual generated columns in the database. For example, you can use these for converting numbers like degrees Celsius to Fahrenheit. These columns are saved with the regular table data and allows you to query against them.
Rails 7.1 introduces many new features for authentication. In this lesson, we'll show you how to implement authentication from scratch using Rails 7.1's new features.
We're going to build a URL Shortener in Rails, so where do we start? In this lesson, we'll plan out our project and the features we want to build.
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.
First things first, we need a Link model to store our
Using Base62, we can take an Integer ID and compress it for short codes in our URLs
Has secure password is boasting some new benefits in Rails 7.1 with the addition of the authenticate_by method which reduces timing-based enumeration attack vulnerabilities. Also being introduced is the ability to provide a required password challenge.
Decoding our Base62 encoded short codes is the next challenge
Now that we have Base62 encoding and decoding, we can tell Rails to use this for generating URL params and find
Rails 7.1's new generates_token_for method allows us to build password reset and Magic Link login tokens without storing details in the database. Tokens have expirations and can be one-time use so they can't be reused.
Next, we can build redirecting Short URLs to the URL on the Link
Analytics for links is a useful feature so lets record Views for links and show them in a graph
It's time we start cleaning up the design and UI for a better experience with our URL shortener.
In this lesson, we will look at a new option coming to the rails routes command in Rails 7.1 which will display a list of any routes deemed as unused in your Rails application. Let's see what qualifies a route as unused and learn some other handy tips!
Join 87,563+ developers who get early access to new tutorials, screencasts, articles, and more.
We care about the protection of your data. Read our Privacy Policy.