Defer serializer relationships when eager loading #127
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
To do endpoint validation, we register a proc in railtie.rb that checks
routes. For this to work, all resources and routes must be loaded. This
is a problem because the resource classes load before routes are
finished, and we want to do this at boot instead of runtime for
performance.
The solution is to defer the link validation until the app has loaded
and we've reloaded routes. This happens in railtie.rb, but it looks
like a straggler line would not defer, only under very specific
scenarios (when eager loading in production with polymorphic resources,
and a particular load order).
I've removed the straggler line to ensure this works as intended.