はじめに
find_in_batchesメソッドはactiverecordに対してのみ使用できるので配列をactiverecordへ変換したい
方法
配列に格納されたデータのidのみを別の配列に格納する
(push・・・配列に要素を追加)
@channel_ids = []
channels = user.channels
channels.each do |channel|
@channel_ids.push(channel.id)
end
idのみを格納した配列をwhere句へ指定して、再度データを取得することでactiverecordへ変換したデータが取得できる
target_channels = Channel.where(id: @channel_ids)
参考文献
もっと簡単に書けました
wwhere(id: user.channels.pluck(:id))