Write Software, Well

How to Safely Drop Columns in Rails

Refactoring Databases (in Rails)

Finally, the Rails Blog Runs on Rails

Understanding ActiveStorage Variants for Image Transformations in Rails

You Can Now Access Bearer Tokens Directly from Request

Combined Credentials in Rails 8.2

Active Storage Internals: How has_one_attached DSL Works

Active Storage Domain Model: Blobs and Attachments

Rails on Localhost: Secure Context and Local HTTPS with Caddy

Sitemaps: A Quick SEO Win for New Websites

Polymorphic URLs with direct Router Helper

Working Effectively with AI as a Developer

How to Inspect the Sequence of Controller Callbacks in Rails

Thoughts on Freelancing for Web Developers

Redirects in Rails: Manual, Helper, and Internals

Understanding the Render Method in Rails

Vibe Learning is Underrated

Serving Large Files in Rails with a Reverse Proxy Server

Fix N+1 Queries Without Eager Loading Using SQL Subqueries

Reduce Memory Usage by Selecting Specific Columns

Profiling Ruby on Rails Applications with Rails Debugbar

Why You Need Strong Parameters in Rails

Working with HTTP Responses in Rails

Working with HTTP Requests in Rails

Understanding Rails Parameters

New Series on Rails Controllers

Restrict Destroying Dependent Rails Associations with Error

Backup SQLite from a Containerized Rails App Deployed with Kamal

Working with the Rails Instrumentation API

How a Ruby Method Becomes a Rails Action: Part One

Using Hotwire for Inline Form Updates Without Form Submission

A Brief Introduction to Rails Initializers: Why, What, and How

Not-Null Shortcut in Rails 8 Migration Generator

If You're a WordPress Developer, Learn Ruby and Rails

How to Count the Number of Commits After a Specific Commit in Git

The Rails Router Handbook

Routing Concerns in Rails

Understanding Shallow Nested Routes in Rails

Working with Resourceful Routes in Ruby on Rails

Map a Resourceful Route in Rails to Another Controller Class

How to Route an Incoming URL to a Rack Application in Rails

Working with Nested Resources in Ruby on Rails

How to List and Filter Routes in Ruby on Rails

Understanding the Match Method in Rails Router

How to Override the Named Route Parameter ID in Rails

Understanding Named Routes in Rails

How to Add a root Route in Rails

How to Redirect Incoming HTTP Requests Using Rails Router

How to Access Raw POST Data in Rails

Rails Router: Dynamic Segments and Query Strings

Polymorphic Associations in Rails: Why, What, and How

A Brief Overview of the Rails Routing Config File

Introduction to the Routing System in Rails

My Notes from Shape Up: Shipping Work that Matters

How to Setup Rails-like Integration Tests in Ruby

How to Access Rails Models in a Rake Task

I am Available as a Freelance Developer

From a Lorry Driver to Ruby on Rails Developer at 38

How I Read Rails Source Code

Build Your Own Router in Ruby

Growing Object-Oriented Software, Guided by Tests

Understanding Ruby's defined? Keyword

Honeybadger Now Supports Logging and Event Monitoring

Let's Build a Web Application in Ruby without Rails

What Does the Frozen String Literal Comment Do in Ruby?

Speed Up Your Tests Using VCR Gem in Ruby

Playing Sounds in Rails with the Audio API

How to Generate Random Numbers in Ruby

Anonymous Block Forwarding in Ruby

Custom URL Helpers in Rails with the direct Method

Understanding the Rails Router: Why, What, and How

What is __FILE__ in Ruby?

Prevent Logging Sensitive Data with Rails Parameter Filters

Understanding How Rails Environments Work

Learn to Program Ruby with Me

How to Process a Turbo Stream Response in JavaScript using Stimulus

The Rails Config File

See Other After Destroy

How to Remove Whitespace from a String in Ruby

Annual Blog Review: 2023

Enqueue Multiple Jobs Together with perform_all_later in Rails

Nested Modules in Ruby

How to Read a File in Ruby

Rails Internals: A Deep Dive Into Active Job Codebase

Working with SQLite in Ruby

How respond-to Method Works in Rails

CDPATH: Easily Navigate Directories in the Terminal

How to Customize Rails Validation Errors to Remove Leading Attribute Column Names

How to Return 404 Not Found Error in Rails

Interview with Daniela Baron, Staff Engineer at FundThrough

Akshay's Blog is now Write Software, Well

Base64 Encoding, Explained

Length, Size, and Count in Ruby and Rails: When to Use Which?

Interview with Miles Woodroffe, former Global CTO of Cookpad

The Difference Between nil?, empty?, and blank? in Ruby

Refactoring: Improving the Design of Existing Code (My Notes and Highlights)

What Happens When You Run Rails dev:cache Command?

How to Access a Ruby Hash with both String and Symbol Keys

How to Debug and Step-Through Rails Codebase

The Complete Guide to Working With Cookies in Rails

Rails Middleware: (Almost) Everything You Need to Know

Let's Read the Turbo Source: What Happens When You Click a Link?

Let's Implement the Map Method from First Principles

Rails Database Migrations Cheatsheet

Practical Stimulus: Building a Counter Component

Ruby's Hash is a Swiss-Army Knife

Abbrev: A Hidden Ruby Gem

Using Zeitwerk Outside Rails

How to Implement Content Security Policy in Rails

You Don't Need Rails to Start Using Hotwire

Content Security Policy (CSP): What Every Web Developer Must Know

Logging in Ruby: (Almost) Everything You Need to Know

Serving Static Files in Ruby

How to Dynamically Create Instance Variables in Ruby

How to Render SVG Icons in Ruby on Rails

How to Implement Rails-like Dynamic Views in Ruby

Implementing Rails-like Controllers in a No-Rails App

Understanding the Concept of Binding in Ruby

How to Split a List into N Equal Parts in Ruby (and Rails)

Blocks, Procs, and Lambdas: A Beginner's Guide to Closures and Anonymous Functions in Ruby

Practical Stimulus: Capture User Input

How Module Autoloading Works in Ruby and Rails

Practical Stimulus: How to Toggle CSS Classes

How to Create a Form with Multiple Submit Buttons to Different URL Endpoints

Generating Secure Tokens on Your ActiveRecord Models

How to Render Markdown Views in Rails

Concerns in Rails: Everything You Need to Know

How to Create Custom Flash Types in Rails

Inline Routes in Rails

Simplifying My Blogging Workflow with Ruby

Did You Know that You Can Catch and Throw Stuff in Ruby?

Various Ways to Run Shell Commands in Ruby

Ruby's Switch Statement is More Flexible Than You Thought

Can You Spot the Error?

A List of Books to Learn Programming with Ruby and Rails

How to Access Hash Values with Methods Using OrderedOptions

The Definitive Guide to Rack for Rails Developers

Readonly Attributes in Rails

Sessions in Rails: Everything You Need to Know

Understanding the Attribute Assignment API in Rails

Progressive Application Development with Hotwire

Configuring Rails Environments

Turbo Streams: How They Work and Differ From Turbo Frames

A Brief Introduction to Hotwire

How Rails Authenticity Tokens Protect Against CSRF Vulnerability

Cross-Site Request Forgery (CSRF) Attack: What It Is, How It Works, and How to Prevent It

Docked Rails: Setup a Ruby on Rails Application on Docker 🐳

The Difference Between load, autoload, require, and require_relative in Ruby 📖

Open GitHub Repositories in VS Code In-Browser

How to Explicitly Render a Different View in Rails

Method Shorthand in Ruby

class_eval vs. instance_eval in Ruby

Array Inquiry in Rails

How to Check If Value Exists in an Array in Ruby (and Rails)

Tracking TODO and FIXME Comments with Rails Notes Command

What Happens When You Call render? Let's Understand the Rails Rendering Process

Regular Expressions in Ruby

Let's Learn Ruby on Rails + Hotwire by Building a To-Do List

How to Undo Generate Scaffold Command in Rails

How self Keyword Works in Ruby

Setting Up Development Environment for Rails

Define Custom Routes Using the Member and Collection Blocks in Rails

How &:method Shortcut Works in Ruby

Building Web Applications with Ruby on Rails

Understanding Blocks and the Difference in Proc and Lambda

Compare Strings Using Inquiry

How to Compress a String in Ruby (and Rails)

Configure Classes Using the Configurable Concern in Rails

How to Access Variables Outside Scopes in Ruby

Ruby is a Meritocracy

How to Benchmark Rails Views

How to Benchmark Ruby Code

Understanding Authenticity Tokens in Rails

Metaprogramming in Ruby

How to Get an Object's Class Name in Rails

A Deep Dive Into Database Migrations in Rails

Attributes API in Rails

How to Get the Current Absolute URL in Rails

How to Rename a Database Column in Rails

Metal Controller in Rails

Active Job: How does it work?

Up and Running with Minitest

Ruby Shortcut to Call a Method with Each Array Item as Parameter

How to Manage Environment Variables in Rails

Useful Linux Commands

How to Convert a Ruby Object to Hash

Useful Ruby Gems

How to Access Route Helpers from Rails Console and Models

Why Turbo Uses Event Capturing

Why Choose `let` Over instance variables in RSpec

Inline Edits using Turbo Frames

Turbo Drive Essentials

Launching Multiple Processes with a Single Command in Rails

How to Setup Tailwind 3 on Rails

Couldn't Find Handler For: puma, thin, falcon, webrick

All the Database Tasks in Rails

How to Drop a Table in Rails

How to Test Rails Source Code

Include and Extend

Modifying Objects in Place

Class Metaprogramming in Ruby

How to Implement Callbacks in Ruby

A List of Middleware Used by Rails

Caching in Rails

A Brief Introduction to Rake

Subscribe to get future posts via email (or grab the RSS feed)