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.
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.
In this episode, we'll walk through how I discovered an improvement for Rails' new Request.js library and how we approached and implemented the feature in a pull request.
Need to dynamically update fields when a user changes a select box? We can do that easily in Rails using Hotwire's Turbo Stream actions.
Want users to be able to define different roles for users on their account? You can easily accomplish this with a Role model and Pundit
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.
Ever wondered how Puma, Unicorn, or other Ruby HTTP servers work? We'll build one from scratch with pure Ruby so you can see exactly how it works.
Learn how to deploy your Ruby on Rails app to a Staging Environment
Rails lets you intercept and observe emails sent out by your application. This is incredibly useful for staging / preview environments and audit log trails
ActiveRecord default_scopes are incredibly useful for some features like soft delete. But sometimes we need to undo a scope, so that's where unscope comes in.
Web Components are a great way to encapsulate Javascript logic around an element in your HTML. We'll explore how to create Custom Elements and see how Hotwire uses them for Turbo Stream actions.
Learn how to use Rails' brand new Request.js library for making AJAX requests in your Javascript
Ever wondered how to add the Unsubscribe link to your emails? We can do that using ActinoMailer in Rails with the List-Unsubscribe header and GlobalID
Join 86,946+ developers who get early access to new tutorials, screencasts, articles, and more.
We care about the protection of your data. Read our Privacy Policy.