Action View 原始输出帮助器
方法
- R
- S
- T
实例公共方法
raw(stringish) 链接
此方法输出不转义字符串。因为现在转义标签是默认设置,所以当您不希望 Rails 自动转义标签时可以使用此方法。如果数据来自用户输入,则不建议使用此方法。
例如
raw @user.name
# => 'Jimmy <alert>Tables</alert>'
源: 显示 | 在 GitHub 上
# File actionview/lib/action_view/helpers/output_safety_helper.rb, line 18 def raw(stringish) stringish.to_s.html_safe end
safe_join(array, sep = $,) 链接
此方法返回一个 HTML 安全字符串,类似于 Array#join
返回的内容。数组被展平,所有项(包括提供的分隔符)都经过 HTML 转义(除非它们是 HTML 安全的),并且返回的字符串被标记为 HTML 安全。
safe_join([raw("<p>foo</p>"), "<p>bar</p>"], "<br />")
# => "<p>foo</p><br /><p>bar</p>"
safe_join([raw("<p>foo</p>"), raw("<p>bar</p>")], raw("<br />"))
# => "<p>foo</p><br /><p>bar</p>"
源: 显示 | 在 GitHub 上
# 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
to_sentence(array, options = {}) 链接
将数组转换为逗号分隔的句子,其中最后一个元素由连接词连接。这是 ActiveSupport 的 Array#to_sentence 的 html_safe-aware 版本。
源: 显示 | 在 GitHub 上
# 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