Ruby on Rails 5.2 - ActionView::Helpers::OutputSafetyHelper

मॉड्यूल ActionView :: सहायकों :: OutputSafetyHelper




ruby

मॉड्यूल ActionView :: सहायकों :: OutputSafetyHelper

सार्वजनिक प्रवृत्ति के तरीके

कच्चे (कठोर) स्रोत दिखाएँ
# File actionview/lib/action_view/helpers/output_safety_helper.rb, line 18
def raw(stringish)
  stringish.to_s.html_safe
end

यह विधि एक स्ट्रिंग से बचने के बिना आउटपुट करती है। चूंकि टैग से बचना अब डिफ़ॉल्ट है, इसका उपयोग तब किया जा सकता है जब आप नहीं चाहते कि रेल स्वचालित रूप से टैग से बच जाए। यह अनुशंसित नहीं है यदि डेटा उपयोगकर्ता के इनपुट से आ रहा है।

उदाहरण के लिए:

raw @user.name
# => 'Jimmy <alert>Tables</alert>'
safe_join (सरणी, sep = $), स्रोत दिखाएं
# File actionview/lib/action_view/helpers/output_safety_helper.rb, line 33
def safe_join(array, sep = $,)
  sep = ERB::Util.unwrapped_html_escape(sep)

  array.flatten.map! { |i| ERB::Util.unwrapped_html_escape(i) }.join(sep).html_safe
end

यह विधि एक HTML सुरक्षित स्ट्रिंग देती है जो Array#join समान होती है। सरणी को चपटा किया जाता है, और आपूर्ति किए गए विभाजक सहित सभी आइटम, HTML तब तक बच जाते हैं जब तक वे HTML सुरक्षित नहीं होते हैं, और लौटे स्ट्रिंग को HTML सुरक्षित के रूप में चिह्नित किया जाता है।

safe_join([raw("<p>foo</p>"), "<p>bar</p>"], "<br />")
# => "<p>foo</p>&lt;br /&gt;&lt;p&gt;bar&lt;/p&gt;"

safe_join([raw("<p>foo</p>"), raw("<p>bar</p>")], raw("<br />"))
# => "<p>foo</p><br /><p>bar</p>"
to_sentence (सरणी, विकल्प = {}) स्रोत दिखाएं
# File actionview/lib/action_view/helpers/output_safety_helper.rb, line 43
def to_sentence(array, options = {})
  options.assert_valid_keys(:words_connector, :two_words_connector, :last_word_connector, :locale)

  default_connectors = {
    words_connector: ", ",
    two_words_connector: " and ",
    last_word_connector: ", and "
  }
  if defined?(I18n)
    i18n_connectors = I18n.translate(:'support.array', locale: options[:locale], default: {})
    default_connectors.merge!(i18n_connectors)
  end
  options = default_connectors.merge!(options)

  case array.length
  when 0
    "".html_safe
  when 1
    ERB::Util.html_escape(array[0])
  when 2
    safe_join([array[0], array[1]], options[:two_words_connector])
  else
    safe_join([safe_join(array[0...-1], options[:words_connector]), options[:last_word_connector], array[-1]], nil)
  end
end

सरणी को अल्पविराम से अलग किए गए वाक्य में जोड़ता है जहां अंतिम तत्व कनेक्टर शब्द से जुड़ता है। यह ActiveSupport के Array#to_sentence का html_safe- जागरूक संस्करण है।