helper method with block--with list iteration?

I'd like to use the helper method with block technique, but I can't seem to make it work the way I want with a list. I'm imagining something like this:

<% decorate_list_with_max(list, 5) do |item| %>    Here's the item name: <%= item.name %> <% end %>

decorate_list_with_max(list, max, &block) {   output = ""   index = 0;   list.each |item|      output << "Before item";      output << capture(item, &block)      output << "After item";      index = index + 1      break if index > max   end }

I think you get the idea? My helper gets a list, iterates over it passing to the block in the view on each iteration (and passing an argument to the block), with full control of the logic of the iteration, including stopping it in the middle, etc.

It seems like there ought to be a way to do this. But I'm not succeeding in making it work. Anyone done something like this before?

Oh, Rails 1.8.x, not 2 yet.