私はレールコントローラの以下の方法を理解しようとしていますRubyの収量のRailsのコントローラ変数
def self.collect_with_max_id(collection=[], max_id=nil, &block)
response = yield(max_id)
collection += response
response.empty? ? collection.flatten : collect_with_max_id(collection, response.last.id - 1, &block)
end
byebugと方法をデバッグしようとしている私は、すべてのオブジェクトのコレクションとmax_idの値を取得する: 私は応答変数を呼び出すとき552860227390144512のmax_idありながら、この部分
response = yield(max_id)
に引っかかって、私は単純に空の配列[]を取得し、全体の方法を破るようです。
誰かがこのコンテキストでyield関数を説明することができますか。私は今、それを表示とブロックのレンダリングからror。