fixes #23 do not reuse the @output_buffer but always create a new one for the paginator

otherwise, the paginator partial skips escape_javascript in some cases when rendered via Ajax call
This commit is contained in:
Akira Matsuda 2011-02-23 22:40:25 +09:00
parent 8736a62e29
commit 63b3bc129b
2 changed files with 2 additions and 10 deletions

View File

@ -17,10 +17,6 @@ module Kaminari
resolver.find_all(*args_for_lookup(name)).present?
end
def output_buffer #:nodoc:
@template.instance_variable_get('@output_buffer')
end
private
def context
@template.instance_variable_get('@lookup_context')

View File

@ -74,17 +74,13 @@ 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
if @output_buffer.nil?
@output_buffer, @return_buffer = ActionView::OutputBuffer.new, true
end
@output_buffer = ActionView::OutputBuffer.new
end
# render given block as a view template
def render(&block)
instance_eval &block if @options[:num_pages] > 1
# return the output text only if the output_buffer was created inside this instance
@return_buffer ? @output_buffer : nil
@output_buffer
end
# enumerate each page providing PageProxy object as the block parameter