ループ内でActiveRecordのpluck を使うとN+1になるのは railsのバグだった

https://github.com/rails/rails/issues/28747

Department.limit(10).includes(:employees).each { |x| x.employees.pluck(:name) } のように、
先読みしていてもループ内でpluckを使ってしまうとN+1になっていたのでmap(&:name)に書き直していた。
てっきりこういう仕様だと思っていたらバグだった。
5.0.2 では修正されてる。

2.3.0 :021 > Department.limit(10).includes(:employees).each { |x| x.employees.pluck(:name) }
D, [2017-04-13T22:27:36.273152 #67955] DEBUG -- :   Department Load (0.5ms)  SELECT  `departments`.* FROM `departments` LIMIT 10
D, [2017-04-13T22:27:36.276073 #67955] DEBUG -- :   Employee Load (1.5ms)  SELECT `employees`.* FROM `employees` WHERE `employees`.`department_id` IN (1, 2, 3, 4, 5, 6)