Skip to main content
thoughtbot thoughtbot
  • Live on Twitch!

    thoughtbot is livestreaming

    Work alongside the thoughtbot team as we collaborate with each other and our clients, live. Ask us anything, we're live right now!

  • Case Studies
  • Blog
  • Let’s Talk
Live on Twitch!

thoughtbot is livestreaming

Work alongside the thoughtbot team as we collaborate with each other and our clients, live. Ask us anything, we're live right now!

Let’s get started!
View all Services
Development
  • Ruby on Rails
  • Hotwire
  • AI and Machine Learning
  • Maintenance
  • Mobile
Design
  • Discovery Sprints
  • UX, UI, and Product Design
  • Design Systems
Product
  • Product Management
  • Accessibility
Team and Processes
  • Team Augmentation
  • Fractional Leadership
View all Services
View all Resources
Development
  • Tech Leadership Resources
  • Open Source
  • Books
  • The Bike Shed Podcast
  • Live Streaming on YouTube
  • Conference Talks
The business of great software
  • Playbook
  • Purpose Built
  • Giant Robots Smashing Into Other Giant Robots Podcast
  • Design Sprint Guide
  • Live Streaming on LinkedIn
View all Resources

Web Articles

Written by thoughtbot, your expert strategy, design, product management, and development partner.

    • All Topics
    • Design
    • Web
    • iOS
    • Android
    • More topics
  1. Ruby HTML Sanitization with Loofah

    Need to do some HTML sanitization, but Rails ActionView Sanitize Helpers are not good enough? Read this post to learn how to do it with Loofah.

    Stefanni Brasil
    November 24, 2023
    • Ruby
    • Web
    • Development
  2. Sharing Query Logic Within ActiveRecord Models

    Re-use collection query logic within model instances to avoid duplication and get the best performance.

    Chris Toomey
    November 22, 2023
    • Rails
    • SQL
    • Web
  3. What's a counter cache?

    Running a separate query to count how many records are associated with another record is inefficient. Using a counter cache can save the day!

    Jose Blanco
    November 21, 2023
    • Rails
    • Ruby
    • Web
    • Active Record
    • Good Code
  4. Database View Backed Scopes In Rails

    How do you manage queries when your Rails application isn’t the only thing reading your database?

    Steve Polito
    November 20, 2023
    • Rails
    • Web
    • PostgreSQL
  5. Are you absolutely sure you know how to use the button element?

    Read this the next time you need to build a complicated form.

    Steve Polito
    October 31, 2023
    • Rails
    • Web
  6. A Peek Behind the Curtain of Our New Open Source Page

    How did we build the new Open Source page?

    Joël Quenneville and Neil Carvalho
    September 4, 2023
    • Ruby
    • Open Source
    • Web
  7. Speed up your Rack application with HTTP

    You don’t need a sophisticated caching mechanism to improve your application’s performance. All you need is a basic understanding of the HTTP specification.

    Steve Polito
    August 31, 2023
    • Rack
    • Rack Tutorial
    • Ruby
    • Web
  8. A pragmatic guide to building a Rack application from scratch

    Learn how to build a production ready Rack application without a framework like Rails or Sinatra.

    Steve Polito
    August 22, 2023
    • Rack
    • Rack Tutorial
    • Ruby
    • Web
  9. Superglue: digging into the framework details

    Superglue creator Johny Ho answers a beginner’s questions about the new React+Rails framework.

    Johny Ho and Dave Iverson
    August 15, 2023
    • React
    • Rails
    • JavaScript
    • Web
  10. Are you absolutely sure your Rails caching strategy isn't leaking sensitive information?

    Rails writes a new cache entry based on the first request. But what happens when that request is from an admin?

    Steve Polito
    July 26, 2023
    • Rails
    • Ruby
    • Web
    • Security
  11. Sign up to receive a weekly recap from thoughtbot

« First ‹ Prev 1 2 3 4 5 6 7 8 … Next › Last »

Footer

thoughtbot
  • Services
  • Case Studies
  • Resources
  • Let's Talk
  • Our Company
  • Careers
  • Purpose
  • Blog
  • Sponsor
  • Mastodon
  • GitHub
  • Instagram
  • YouTube
  • Twitch
© 2025 thoughtbot, inc.

The design of a robot and thoughtbot are registered trademarks of thoughtbot, inc.

  • US: +1 (877) 9-ROBOTS
  • UK: +44 (0)20 3807 0560
  • Beware of fraudulent thoughtbot job listings Learn more
  • Code of Conduct
  • Accessibility Statement
  • Privacy Policy