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.
MQTT is a message protocol for Internet of Things devices. It's very similar to pubsub where you can broadcast and subscribe to different topics. Learn how to send messages to an MQTT broker in this tutorial.
Learn how to build custom Turbo Stream Actions to build things like browser notifications, console logging, or anything you want. Plus, we'll look at how Turbo implements this in their GitHub codebase.
Learn how to use Arrays in your Ruby code
Learn how to use Hashes in your Ruby code
ActionText builds on top of the ActiveStorage file uploads feature in Rails, so we're going to configure Amazon S3 storage so we can upload files in production
Next up, we need to be able to edit and update the passwords in our password manager application
Since we're planning to share passwords with multiple users, we need to use a join table to associate the password with users. We'll explore how to set this up and create records using the join table and has_many through association
We don't want to save passwords in plaintext in our password manager's database. That would be insecure. Luckily Rails provides ActiveRecord Encryption to make this easy.
Our first step in building any application is designing what database models we will need to store our data.
Turbo Frames provide an iFrame like concept for Hotwire applications. If you're using Turbo streams to replace a portion of the page, you can accomplish the same thing even easier using Turbo Frames
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.
Next, we can build redirecting Short URLs to the URL on the Link
It's time we start cleaning up the design and UI for a better experience with our URL shortener.
Testing our URL shortener is very important now that we've implemented edit permissions on Links. We want to make sure everything works as expected for each type of user.
Now that we've got a thorough test suite, we want to make sure tests are run anytime we push code to GitHub. We can setup GitHub Actions to test our code and automatically deploy it when tests pass.
ActiveRecord Aggregations let you use composed_of to combine columns into a single attribute using a Ruby object.
In this video, we will explore how the concepts we looked at in "Flattening Scopes in Ruby" are used in Rails by taking a look at the assert_difference method. We will walk through how the method works while taking note of where the concepts are applied.
Learn how to execute Ruby Scripts and interactively run Ruby code in IRB
Learn how Strings work in Ruby
Learn how to use Integers and Floats in your Ruby code
Join 83,038+ developers who get early access to new tutorials, screencasts, articles, and more.
We care about the protection of your data. Read our Privacy Policy.