diff --git a/lib/kaminari/helpers/tags.rb b/lib/kaminari/helpers/tags.rb index 8a58259..6fdb13a 100644 --- a/lib/kaminari/helpers/tags.rb +++ b/lib/kaminari/helpers/tags.rb @@ -73,13 +73,17 @@ module Kaminari def initialize(template, window_options) #:nodoc: @template, @options = template, window_options.reverse_merge(template.options) # so that this instance can actually "render". Black magic? - @output_buffer = @template.output_buffer || ActionView::OutputBuffer.new + @output_buffer = @template.output_buffer + if @output_buffer.nil? + @output_buffer, @return_buffer = ActionView::OutputBuffer.new, true + end end # render given block as a view template def render(&block) instance_eval &block if @options[:num_pages] > 1 - nil + # return the output text only if the output_buffer was created inside this instance + @return_buffer ? @output_buffer : nil end # enumerate each page providing PageProxy object as the block parameter