Skip to content
Advertisement

How to avoid rails as_json creating flood of database requests

I have a model questions that has many tags through another model question_tags. I am trying to write an api endpoint that returns a list of questions and for each question a list of it’s related tag’s name and id.

I’m currently using;

But this runs a separate db request for every question in questions is there an alternative that will result in a smaller number of database requests?

Advertisement

Answer

The standard N+1 queries fixes should work here, which in Rails is eager loading.

In this case you can use include to preload the associated tags:

You can read more about this in the dedicated rails guide section: Eager Loading Associations

User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement