aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-03-26 14:03:55 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-03-26 14:03:55 +0000
commit3fe9d8ac359cc38698b3ee7fb876308dfdf144ed (patch)
tree07e333be34a1deebff29687724e92e6aa08937f6 /actionpack/lib/action_view
parent7a6a923f983a2d642a4efd4e962b4385987e167a (diff)
downloadrails-3fe9d8ac359cc38698b3ee7fb876308dfdf144ed.tar.gz
rails-3fe9d8ac359cc38698b3ee7fb876308dfdf144ed.tar.bz2
rails-3fe9d8ac359cc38698b3ee7fb876308dfdf144ed.zip
Added JavascriptHelper#escape_javascript as a public method (was private) and made it escape both single and double quotes and new lines #940 [mortonda@dgrmm.net]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1002 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_view')
-rw-r--r--actionpack/lib/action_view/helpers/javascript_helper.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/actionpack/lib/action_view/helpers/javascript_helper.rb b/actionpack/lib/action_view/helpers/javascript_helper.rb
index d5630bcdfe..5a07ebdc6e 100644
--- a/actionpack/lib/action_view/helpers/javascript_helper.rb
+++ b/actionpack/lib/action_view/helpers/javascript_helper.rb
@@ -148,11 +148,12 @@ module ActionView
build_observer('Form.Observer', form_id, options)
end
- private
+ # Escape carrier returns and single and double quotes for Javascript segments.
def escape_javascript(javascript)
- (javascript || '').gsub('"', '\"')
+ (javascript || '').gsub(/\r\n|\n|\r/, "\\n").gsub(/["']/) { |m| "\\#{m}" }
end
-
+
+ private
def options_for_ajax(options)
js_options = build_callbacks(options)