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.
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'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.
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
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
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.
Congratulations! We're all done! We now have a fully featured URL shortener that does everything we need plus some cool extras.
In this lesson, we will look at the various ways we can use the super keyword in Ruby in regard to forwarding method arguments to the equivalent method in a parent class.
Not eager loading in your Rails applications can have series performance side effects. Rails now comes with a strict_loading feature that you can use to make sure that queries are run in an efficient manner.
Rails.env looks and acts like a Ruby String, but you can call methods with question marks on it. In this lesson, we'll learn how it works using ActiveSupport StringInquirer.
In this lesson, we will look at some guidelines which we can use to help keep our Rails model files organized and uniform. Along the way we will uncover a couple of gotchas to be aware of when doing the work to align your files with the template.
At Rails World 2023, Chris Oliver gave a talk about Powerful Rails features you might not know to cover small, but incredibly useful techniques you can use to write better Rails applications.
ActiveStorage has introduced lots of improvements in recent Rails versions to make managing file uploads much easier.
Did you know serialize can be used for more than saving Ruby hashes as JSON or Yaml in your db? You can take any attribute and convert it to an object seamlessly with Rails using serialize and custom coders.
In this lesson, we will have a look at the elements used to markup text content in HTML.
Join 78,890+ developers who get early access to new tutorials, screencasts, articles, and more.
We care about the protection of your data. Read our Privacy Policy.
Screencast tutorials to help you learn Ruby on Rails, Javascript, Hotwire, Turbo, Stimulus.js, PostgreSQL, MySQL, Ubuntu, and more.
© 2023 GoRails, LLC. All rights reserved.