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.
Learn how to use Stimulus Target Callbacks to trigger realtime Chart updates
Learn how to configure live reloading with Esbuild in Rails using an EventSource and jsbundling-rails
Turbo now provides equivalents to Rails UJS data confirm, disable with, and method attributes that we can use.
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 use Kredis and see it works by implementing a recent searches unique list
I found a bug in the Kredis gem the other day and wanted to walk you through my thought process on debugging and using TDD to fix the bug for the future.
Refactoring a Javascript countdown timer into a reusable Stimulus controller gives a look at the flexibility we can achieve by taking advantage of the Stimulus Values API and customizing the default values.
Ever wanted to build Datatables into your Rails app? You can using Hotwire using Turbo Frames without any custom Javascript.
Complex queries can slow your page rendering down. We can now run long queries in parallel with Rails 7's load_async method in ActiveRecord to speed up page rendering.
A code review with Kasper from the Rails core team to show us the process of reviewing, designing, and refactoring Rails code.
Using jQuery and plugins like jQueryUI in modern Javascript can be a little tricky. We'll see how to use it, how to deal with javascript import hoisting and how to add plugins like jQueryUI
Rails 7's built-in encryption is fantastic. This episode, we'll learn how to migrate our older attr_encrypted attributes to the new Rails 7 encryption.
Installing Bootstrap is easier than ever thanks to CSS Bundling in Rails now. It also wires up the Javascript so you don't have to do much of anything.
JSBundling provides a flexible way of using different Javascript bundlers like ESBuild. It strikes a great balance between the asset pipeline and webpacker. Plus, Esbuild can bundle your Javascript lightning fast.
Custom ActiveRecord validations are easy to make and they're implemented exactly the same way as the built-in Rails validations. It's super handy to be able to add nice, clean validations that you can repeat throughout your apps.
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.
The first step in building an API wrapper Rubygem is building your HTTP client. We're going to use Faraday as our HTTP client and get it setup with authentication.
Join 85,376+ developers who get early access to new tutorials, screencasts, articles, and more.
We care about the protection of your data. Read our Privacy Policy.