Enhanced ActiveRecord preloading

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/rails

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • JetBrains - Developer Ecosystem Survey 2022
  • Scout APM - Less time debugging, more time building
  • ArLazyPreload

    Lazy loading associations for the ActiveRecord models

    Attentive reader could notice that in every described case, it was a requirement to explicitly list data that we want to preload for a group of users. Gladly, there is a simple solution! ArLazyPreload will make N+1 disappear just by enabling it. As soon as you need to load association for any record, it will load it once for all records that were fetched along this one. And it works with ActiveRecord and N1Loader perfectly!

  • counter_culture

    Turbo-charged counter caches for your Rails app.

    It's worth mentioning counter_culture alternative that has many features compared with the built-in counter_cache

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • n1_loader

    Loader to solve N+1 issues for good. Highly recommended for GraphQL API.

    Unfortunately, such associations are not possible to preload with includes. Gladly, there is a solution with N1Loader.

  • DatabaseConsistency

    The tool to find inconsistency between models schema and database constraints.

    Described issues may be found with DatabaseConsistency.

  • Goldiloader

    Just the right amount of Rails eager loading

    Thank you for sharing this with me! It seems that https://github.com/salsify/goldiloader gem does the same as https://github.com/DmitryTsepelev/ar_lazy_preload. It would be great to compare both solutions.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts