Hard work by INTERNET

ベンチャーで働くひとりぼっちWEB開発者が頑張るブログ

パーシャルのコレクションレンダリングでnilを渡す

github.com

パーシャルをレンダリングする時ってeachで回すと、N+1クエリ状態ですごく遅いんだよね。そういう時はパーシャルのレンダリングオプションにcollectionをつけることで、 レンダリングのオーバーヘッドを抑えることができる。

render 'books', as: :book, collection: books

で、このissueは render 'books', as: :book, collection: nil だと、エラーが起きていない仕様に対して意義を唱えている。 インスタンス変数って未定義だとnilじゃん。タイポがあるとエラーの発見できないじゃん。だからcollectionにnilが入ってきたらエラーを投げようぜ。ということが書いている。

このissue主はプルリクエストも作っていて、そのプルリクエストには破壊的変更なので非推奨から起こす必要がたぶんあるってコメントをもらっている。

僕自身はこの変更についてはどっちでもいいかなと思う。rubocopで検出できる内容だし。