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.
In this video we explore some potentially unexpected behavior resulting from using Active Record scopes.
We fix a bug in simple_calendar now that ActionController::Parameters are enforced with strong_params in Rails 5
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.
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.
C extensions are a powerful tool to connect Ruby code with C libraries that can perform much faster than a pure Ruby counterpart.
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.
This episode is part 2 in a series about leveraging ActiveSupport::Duration. In this episode, we will look at how to build a reusable concern to setup relationships between models that allow them to automatically handle calculating and updating durations
Ever needed to modify the HTML that ActionText renders? We can override the ActionText::Content class to modify the way HTML formatting works to customize the output. For example, we can add rel="noopener nofollow" to any anchor tags in the content.
In this episode, we will look at an approach to adding the ability to delete / remove the nested fields from our form.
Rails 7.1's new generates_token_for method allows us to build password reset and Magic Link login tokens without storing details in the database. Tokens have expirations and can be one-time use so they can't be reused.
In this episode, we will learn about how Rails initializers work internally.
We do a code review of a script that let's you control your Mac and iTunes with commands that generate AppleScripts
Webpack bundles can be confusing as to what actually ships in production. Using the bundle analyzer plugin, we can visualize and see exactly what libraries and files are taking up what space.
Contribute to Rails by discovering something you could improve and learning how to add features to Rails
Rails 6.1 introduces a new feature called "disallowed_warnings" which causes exceptions to be thrown anytime deprecated code is run. This makes it really easy to track down deprecations in your code and fix them quickly.
Learn how to use system tests for file uploads with file input fields and drag & drop with Uppy and Dropzone
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.
Learn how to add a custom Rack middleware to Rails apps with a gem and Railtie. We'll build a simple Rack middleware that intercepts requests to make your app only work during business hours.
Testing ActionCable authentication with Devise is pretty easy, especially when we build our own helpers to stub out Warden
We take the Leaderboard gem and wire it up with custom code to work seamlessly with will_paginate