Save 36% for Black Friday! Save 36% on GoRails for Black Friday! Learn more →
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.
Learn how to build fast, modern web apps with HTML over the wire.
Setup your computer with Ruby on Rails and deploy to a production server.
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.
hCaptcha is a method to try detecting bots on your website. This episode, we'll walk through how to implement hCaptcha in a way that's compatible with Turbo using Stimulus.js and
If you're building something with shared functionality, extracting a base class can be helpful to create a shared place each class can inherit from. We'll explore how to do this for our API clients and one of the tricky things about accessing constants.
Thread safety can be tricky, so let's explore what can happen if our code isn't thread safe before diving into a real-world example where a mutex plays an important role in keeping a gem thread safe.
C extensions are a powerful tool to connect Ruby code with C libraries that can perform much faster than a pure Ruby counterpart.
Learn how to pull business logic out of your models and put them into Plain Old Ruby Objects (POROs) in order to clean up your code and keep chunks of business logic in reusable bits.
Need a way for users to edit code in your Rails app? CodeMirror is an excellent option for a Javascript code editor that you can use with your Rails apps. We'll set up CodeMirror with Stimulus.js so you can replace any text field in Rails.
It's a common situation that we need to submit complex data in our forms in our Rails apps. We'll explore how can we transform the simple values browser forms allow and convert them into something Rails can use and transform into Ruby objects.
Modules and concerns provide a way to make functionality reusable across your Rails application and other apps. In this lesson, we'll show you how we can refactor our comments functionality to add a feature to any resources in Rails.
Ever gotten an InvalidAuthentictyToken error in Rails and wondered how CSRF works? In this lesson, we'll learn how it works behind the scenes so you can understand exactly what's going on.
URI in Ruby is powerful, but not complete. We can use the PublicSuffix and Addressable gems to take this a step further for parsing domains and subdomains.
Using some Ruby metaprogramming and class_eval, we can build Notifiers that allow us to dynamically define STI models and inject code into them with our notification system.
An introduction to Ruby on Rails ActiveSupport concerns where we build a Soft Deletable module like the Paranoia gem
Rails apps and Rubygems might need to support multiple databases. We can use the DATABASE_URL environment variable to quickly swap out the database that Rails uses in CI, local testing, and more.
How to build nested comments and threads in Ruby on Rails
We spend most of our time working with Ruby gems and node modules, but on the rare occasion, we might need to debug an Ubuntu / Debian package. In this lesson, we'll see how these packages work and debug something in the PostgreSQL package.
The addressable gem adds some nice features over Ruby's built-in URI class, but it doesn't have any helpers for extracting subdomains. In this lesson, we'll add some methods to Addressable to make accessing subdomains 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.
ActiveRecord Aggregations let you use composed_of to combine columns into a single attribute using a Ruby object.
You might not realize your code has concepts that need to be extracted. Sometimes it's as simple as a small decorator around a Ruby class as we'll see in this lesson.
Next up, we need to sync videos from our hosting provider's API so we'll build an API client from scratch using net/http in Ruby