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.
We look at using the built in SimpleDelegator class to easily create decorators for objects.
When you receive a JSON response from an API endpoint, it's really easy to convert this to a Ruby hash. But hashes don't feel very Ruby-ish when you're working with them and you can't add methods and treat them like objects.
The core of an API wrapper Rubygem is defining the Resource endpoints so developers can make requests cleanly. We'll also learn how to handle pagination for endpoints that return a list of results.
The core of any API wrapper is the actions for create, read, update, and delete. We'll implement the CRUD for a resource so you can see how to do it and wire up everything together that we've built so far.
How do we test API requests in a Rubygem to make sure that we're integrating correctly with our backend? We'll learn how to use stubs to fake out the request and test our code without any network requests.
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.
Learn how to refactor your Rails model callbacks into plain old ruby objects that help organize your code
Testing a gem or your Rails app against multiple Ruby and Rails versions is super useful, but we also take it a step further and test our gem against several different databases too
Testing your Meilisearch integration in Rails can be a little tricky. This episode, we'll talk through how to setup Meilisearch in your test suite to index fixtures and more.
Config options sometimes need to support dynamic values and not just simple booleans. In this lesson, we'll discover a config in Devise, explore how we can hack around it, and then make a Pull Request to improve this feature in Devise instead.
Learn how to add support for Accelerated Mobile Pages (AMP) from Google to Ruby on Rails in this tutorial
In this lesson, we will learn how to leverage built in IRB and Debug commands from Ruby to trace what happens when you run rails console from start to finish.
Whisper.cpp is an open source C/C++ port of OpenAI Whisper that we can use with Ruby for transcribing our videos. We'll also look at how ActiveStorage runs executables like ffmpeg to see how it works behind the scenes just like with what we're building.
In this lesson, we'll create a job to download a video, extract the audio with ffmpeg, transcribe the video with Whisper, and upload the captions to our hosting provider.
Mocks are a handy tool for writing tests in Ruby. You can use them to fake an object and verify that the correct methods were called against it. Perfect for testing a method that integrates closely with another class or module.
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.
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.
Join 89,852+ developers who get early access to new tutorials, screencasts, articles, and more.
We care about the protection of your data. Read our Privacy Policy.