aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/metal/rendering.rb
diff options
context:
space:
mode:
authorPrem Sichanugrist <s@sikac.hu>2014-02-14 09:57:47 -0500
committerPrem Sichanugrist <s@sikac.hu>2014-02-18 12:08:36 -0500
commit920f3ba2668e0622335f16f2f1318d9e6b5e6b28 (patch)
treed7daebde559c09c6d319510d1ed375f9fb96f74c /actionpack/lib/action_controller/metal/rendering.rb
parent8cd9f6d205e5db5331dd5b01be35b537da17cdee (diff)
downloadrails-920f3ba2668e0622335f16f2f1318d9e6b5e6b28.tar.gz
rails-920f3ba2668e0622335f16f2f1318d9e6b5e6b28.tar.bz2
rails-920f3ba2668e0622335f16f2f1318d9e6b5e6b28.zip
Introduce `render :html` for render HTML string
This is an option for to HTML content with a content type of `text/html`. This rendering option calls `ERB::Util.html_escape` internally to escape unsafe HTML string, so you will have to mark your string as html safe if you have any HTML tag in it. Please see #12374 for more detail.
Diffstat (limited to 'actionpack/lib/action_controller/metal/rendering.rb')
-rw-r--r--actionpack/lib/action_controller/metal/rendering.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/metal/rendering.rb b/actionpack/lib/action_controller/metal/rendering.rb
index 3133334369..cff0405351 100644
--- a/actionpack/lib/action_controller/metal/rendering.rb
+++ b/actionpack/lib/action_controller/metal/rendering.rb
@@ -27,7 +27,7 @@ module ActionController
end
def render_to_body(options = {})
- super || options[:body].presence || options[:text].presence || options[:plain].presence || ' '
+ super || options[:body].presence || options[:text].presence || options[:plain].presence || ERB::Util.h(options[:html]).presence || ' '
end
private
@@ -67,7 +67,7 @@ module ActionController
options[:plain] = options[:plain].to_text
end
- if options.delete(:nothing) || (options.key?(:body) && options[:body].nil?) || (options.key?(:text) && options[:text].nil?) || (options.key?(:plain) && options[:plain].nil?)
+ if options.delete(:nothing) || (options.key?(:body) && options[:body].nil?) || (options.key?(:text) && options[:text].nil?) || (options.key?(:plain) && options[:plain].nil?) || (options.key?(:html) && options[:html].nil?)
options[:body] = " "
end