gpt4 book ai didi

ruby-on-rails - 给定一个字符串,判断它是否来自 .html_safe 调用?

转载 作者:数据小太阳 更新时间:2023-10-29 07:51:37 25 4
gpt4 key购买 nike

在 Ruby on Rails 中,给定一个字符串,是否可以确定 .html_safe 是否存在?已经在该字符串上被调用了吗?

提问的原因:我想编写一个 Controller 单元测试来验证 html_safe 没有在特定字符串上被调用,以证明当该字符串稍后被渲染到在 View 页面中,Rails 将对字符串进行转义(避免可能的 XSS 漏洞)。

我意识到我可以继续在我的测试中实际呈现页面,然后检查呈现的页面主体,但我想知道是否有更直接的方法来做到这一点?

最佳答案

html_safe?:

s = 'foo'
s.html_safe? #=> false

s = 'foo'.html_safe
s.html_safe? #=> true

请注意,如果您调用“破坏性”方法,ActiveSupport::SafeBuffer 将恢复为不安全:

s = 'foo'.html_safe
s.html_safe? #=> true
s.capitalize! #=> 'Foo'
s.html_safe? #=> false

关于ruby-on-rails - 给定一个字符串,判断它是否来自 .html_safe 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53823763/

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