find_in_batches“NO BLOCK GIVEN(YIELD)”

时间:2011-03-01 10:57:12

标签: ruby-on-rails ruby find block yield

我有一个方法,我接受一个模型和result_size。我尝试在这个方法中做的第一件事是:

array = model.logs.find_in_batches(:batch_size => result_size)

但这不起作用;相反,它返回“No Block Given(Yield)”。我想我只是不熟悉块和收益率。如果有人能帮助我理解/解决这个问题,我将非常感激!

提前致谢!

1 个答案:

答案 0 :(得分:6)

find_in_batches希望您将值传递到块中,如下所示:

model.logs.find_in_batches(:batch_size => result_size) do |models|
  models.each do |model|
    model.do_something
  end
end