diff --git a/lib/merb-core/controller/mixins/render.rb b/lib/merb-core/controller/mixins/render.rb index 0dc3997..1fc7841 100644 --- a/lib/merb-core/controller/mixins/render.rb +++ b/lib/merb-core/controller/mixins/render.rb @@ -407,7 +407,7 @@ module Merb::RenderMixin #--- # @public def catch_content(obj = :for_layout) - @_caught_content[obj] + @_caught_content[obj] * '' unless @_caught_content[obj].nil? end # Called in templates to test for the existence of previously thrown content. @@ -442,7 +442,8 @@ module Merb::RenderMixin unless string || block_given? raise ArgumentError, "You must pass a block or a string into throw_content" end - @_caught_content[obj] = string.to_s << (block_given? ? capture(&block) : "") + @_caught_content[obj] = [] if @_caught_content[obj].nil? + @_caught_content[obj] << string.to_s << (block_given? ? capture(&block) : "") end end