cartodb/app/helpers/safe_js_object.rb

15 lines
460 B
Ruby
Raw Normal View History

2020-06-15 10:58:47 +08:00
module SafeJsObject
# Wraps a JSON object to be loaded as a JS object in a safe way.
#
# @example expected usage (my-template.erb), illustrated with a Visualization object
# <script>
# var vizdata = <%= safe_js_object vis.to_vizjson.to_json %>;
# </script>
#
# @return string
def safe_js_object(obj)
# see http://api.rubyonrails.org/v3.2.21/classes/ERB/Util.html#method-c-j
raw "JSON.parse('#{ j(obj.html_safe) }')"
end
end