ある日突然、Viewが最後までレンダリングされない現象が発生するようになった。ブラウザが受け取るHTMLが途中で切れてしまうイメージ。
ある程度サイズの大きいViewをレンダリングしようとすると再現するので、何かしらがレンダリングできるViewのサイズに制限をかけけているのではないかと考えた。
いろいろ調べたところ、同じ問題に悩まされている人を発見。
Unexpected behaviour of associated models in views · Issue #8283 · rails/rails
どうやら、Bulletという非効率なデータベースクエリを検出してくれるGemが原因だとのこと。
問題が発生しているアプリにはBulletを導入していたので、bundle update bullet
を実行し、Bulletを4.2.0から4.3.0にアップデートすると、問題は発生しなくなった。