我最近看到这个,认为它很有趣.但我真的不明白它的作用?
防爆.我有一个rails应用程序,我想引导一些json,所以我不必再发出第二个请求.通常我会写这样的东西.
<%= raw @model.to_json %>
要么
<%= @model.to_json.html_safe %>
我必须发送消息raw或者html_safejson将被html转义,因此无法正确解析.但是,这似乎也有效.
<%== @model.to_json %>
但我找不到任何文件.
有谁知道这究竟是什么?即它是否与呼叫完全相同html_safe或raw?或者还有更多吗?
在Rails 3.0.10中使用raw和html_safe方法,我仍然无法取消html并将其显示为Content而不是<strong>Content</strong>.
@object.property.html_safe 给我 <strong>Some content</strong>
<%= raw(@object.property) %> 也给了我 <strong>Some content</strong>
我看过这些帖子并试图实施他们的修复:
我还看过关于xss保护的Ryan Bates Railscasts插曲:http://railscasts.com/episodes/204-xss-protection-in-rails-3?view = comment
我创建了一个基于他的示例安全的帮助方法,我确保字符串内容应用了html_safe方法:
def safe(content)
"#{content}".html_safe
end
Run Code Online (Sandbox Code Playgroud)
然后我在我的模型上调用它: safe(@object.property)
内容仍未按预期显示.
我也尝试过使用sanitize方法,但无济于事.
可能是什么导致了这个?
我在 rails 项目的一个视图中有一些简单的 erb 代码。
<%= comment.body %>
我希望保留 comment.body 中的 html 标签,因为它们具有格式信息。我已经验证文本正确保存在数据库中
<b>hello</b>
然而,事实证明页面上<b>hello</b>并不像我期望的那样打招呼。
这怎么可能?我不是<%= h用来转义 html 代码的。
如何让它不逃跑?我正在使用 rails 3。这有关系吗?
我正在尝试这样做:
<%= <h1>Products Purchased </h1> if params[:status].nil? || params[:status] == Order.statuses[0] %>
<%= "<h1>Products Sent </h1>" if params[:status].nil? || params[:status] == Order.statuses[1] %>
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.