gpt4 book ai didi

ruby-on-rails - 何时(何时不)运行 `sanitize` 方法?

转载 作者:数据小太阳 更新时间:2023-10-29 08:10:58 26 4
gpt4 key购买 nike

我想明确知道何时运行(以及何时不运行,例如因为它自动运行) sanitize 方法贯穿我的 Rails 5 应用程序。

例如,在我的 View 文件中,内嵌<%= ... %> ,我应该使用这些吗?

sanitize(record.value)

link_to(sanitize(record.value), ...)

tag.span(sanitize(record.value))

t("translation_string_html", :argument_value => sanitize(record.value))

还是这些?

record.value

link_to(record.value, ...)

tag.span(record.value)

t("translation_string_html", :argument_value => record.value)

最佳答案

通常使用 Rails 助手时不需要清理。

例如,如果您遵循 link_to 方法到其结尾,这里是相关行

https://www.rubydoc.info/github/rails/rails/ActionView%2FHelpers%2FTagHelper%2FTagBuilder:content_tag_string

def content_tag_string(name, content, options, escape = true)
tag_options = tag_options(options, escape) if options
content = ERB::Util.unwrapped_html_escape(content) if escape
"<#{name}#{tag_options}>#{PRE_CONTENT_STRINGS[name]}#{content}</#{name}>".html_safe
end

如您所见,在最终返回之前,它既使用 Erb 的一些实用程序转义 html,又使用 html_safe 转义。

关于ruby-on-rails - 何时(何时不)运行 `sanitize` 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55549846/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com