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.
Normally, we require dependencies at the top of files, but today we'll see where and when we might want to lazily require dependencies.
In this screencast, we explore Ruby's Hash#fetch method and how it handles default values. We show how providing a direct default value vs a block affects performance, especially important in Rails apps where unnecessary operations can impact speed.
Ruby 3.4 now raises warnings anytime you mutate a string literal. Learn how to fix our code and use frozen string literals to improve performance.
We needed a feature to highlight lines in Markdown code blocks for the Rails guides. This is a fun Ruby challenge with many different solutions.
Ruby's __FILE__ and __dir__ work slightly differently with symlinks that you might not realize. Let's check see how it works.
Kicking off our Web Scraper series, we start out with the bread and butter: scraping web pages with Ruby and Nokogiri.
Catching signals from the operating system like Ctrl-C can be very useful for safely shutting down your Ruby process. In this lesson, we'll see how the Rails server catches Ctrl-C and gracefully shuts down.
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.
We look at using the built in SimpleDelegator class to easily create decorators for objects.
In this episode we will look at using Ruby's built-in Net::HTTP class to build API clients for making http requests.
Rails uses the Ruby subscript operator to implement versioning with ActiveRecord Migrations. We'll learn how this works and implement it from scratch to see how it all ties together
Errors can come up in many different ways. This episode, we'll look at how we can improve error handling in the noticed gem to cleanly handle issues with ActiveRecord without negatively affecting
In this episode, we will be looking into Ruby's eigenclasses or singleton classes. We will first look at singleton methods and then how we can access the eigenclasses of objects.
Using ensure with blocks is extremely helpful for cleaning up things. We'll learn how to use ensure in Ruby for cleaning up open files as well as temporarily changing values for requests or test stubs.
Designing code for composability allows you to make code more testable, flexible, and easier to adapt in the long term. We'll look at how I recently refactored the Receipts gem so that you can easily customize receipts and still use built-in components.
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.
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.
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.
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.
Last episode, we built a multi-threaded HTTP server from scratch using Ruby. This week, we'll enhance our web server by adding Rack and Rails support.
Join 89,621+ developers who get early access to new tutorials, screencasts, articles, and more.
We care about the protection of your data. Read our Privacy Policy.