aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view/helpers/javascript_helper.rb
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2018-09-21 17:06:45 -0400
committerGitHub <noreply@github.com>2018-09-21 17:06:45 -0400
commit013749ecff3ac77ae7ffda35bb54a90d786b64f9 (patch)
tree9f17c7db4d5448d3f39e6ada95e5d45027efffef /actionview/lib/action_view/helpers/javascript_helper.rb
parent6fd9298272518f4a25a1494b1b1c860bda2dd6b4 (diff)
parentdd0cfb03b233e23b13e087f1cd39169b1ff6d936 (diff)
downloadrails-013749ecff3ac77ae7ffda35bb54a90d786b64f9.tar.gz
rails-013749ecff3ac77ae7ffda35bb54a90d786b64f9.tar.bz2
rails-013749ecff3ac77ae7ffda35bb54a90d786b64f9.zip
Merge pull request #33564 from avit/escape_javascript_casting
Let escape_javascript handle conversion to string
Diffstat (limited to 'actionview/lib/action_view/helpers/javascript_helper.rb')
-rw-r--r--actionview/lib/action_view/helpers/javascript_helper.rb9
1 files changed, 5 insertions, 4 deletions
diff --git a/actionview/lib/action_view/helpers/javascript_helper.rb b/actionview/lib/action_view/helpers/javascript_helper.rb
index 830088bea3..f80d0bd4ed 100644
--- a/actionview/lib/action_view/helpers/javascript_helper.rb
+++ b/actionview/lib/action_view/helpers/javascript_helper.rb
@@ -25,12 +25,13 @@ module ActionView
#
# $('some_element').replaceWith('<%= j render 'some/element_template' %>');
def escape_javascript(javascript)
- if javascript
- result = javascript.gsub(/(\\|<\/|\r\n|\342\200\250|\342\200\251|[\n\r"'])/u) { |match| JS_ESCAPE_MAP[match] }
- javascript.html_safe? ? result.html_safe : result
+ javascript = javascript.to_s
+ if javascript.empty?
+ result = ""
else
- ""
+ result = javascript.gsub(/(\\|<\/|\r\n|\342\200\250|\342\200\251|[\n\r"'])/u) { |match| JS_ESCAPE_MAP[match] }
end
+ javascript.html_safe? ? result.html_safe : result
end
alias_method :j, :escape_javascript