From 72bd9fe8014f4ead4f9a0069c073ce117d3b5217 Mon Sep 17 00:00:00 2001 From: Jan Maurits Faber Date: Sat, 6 Nov 2010 15:13:56 +0100 Subject: [PATCH 1/2] Added support for Erubis <%== tag --- .../lib/action_view/template/handlers/erb.rb | 6 +++++- .../core_ext/string/output_safety.rb | 1 + 2 files changed, 6 insertions(+), 1 deletions(-) diff --git a/actionpack/lib/action_view/template/handlers/erb.rb b/actionpack/lib/action_view/template/handlers/erb.rb index b827610..4c1f3d7 100644 --- a/actionpack/lib/action_view/template/handlers/erb.rb +++ b/actionpack/lib/action_view/template/handlers/erb.rb @@ -40,7 +40,11 @@ module ActionView end def add_expr_escaped(src, code) - src << '@output_buffer.append= ' << escaped_expr(code) << ';' + if code =~ BLOCK_EXPR + src << "@output_buffer.safe_append= " << code + else + src << "@output_buffer.safe_concat((" << code << ").to_s);" + end end def add_postamble(src) diff --git a/activesupport/lib/active_support/core_ext/string/output_safety.rb b/activesupport/lib/active_support/core_ext/string/output_safety.rb index 37c206e..435317e 100644 --- a/activesupport/lib/active_support/core_ext/string/output_safety.rb +++ b/activesupport/lib/active_support/core_ext/string/output_safety.rb @@ -73,6 +73,7 @@ end module ActiveSupport #:nodoc: class SafeBuffer < String alias safe_concat concat + alias safe_append= concat def concat(value) if value.html_safe? -- 1.7.3.1