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.
It's time we start cleaning up the design and UI for a better experience with our URL shortener.
Analytics for links is a useful feature so lets record Views for links and show them in a graph
Next, we can build redirecting Short URLs to the URL on the Link
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.
Decoding our Base62 encoded short codes is the next challenge
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.
Using Base62, we can take an Integer ID and compress it for short codes in our URLs
First things first, we need a Link model to store our
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.
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.
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.
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.
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.
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.
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.
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.
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.
In this video, we will be looking at how to better debug issues in our programs and applications by leveraging the Ruby Debug gem.
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.
Join 86,946+ developers who get early access to new tutorials, screencasts, articles, and more.
We care about the protection of your data. Read our Privacy Policy.