如果不用 html_safe 文本中的一此字符就会被 自动转换了
然而,我写的一个模板不是 html 的,不要转换啊,难道要我每句变成字符后再调用 html_safe?
不知道要怎么做了,求帮助。。。
怎么让我的一个 view 所有的字符不会被自动转换?
我要做的事就是渲染一段 bash 代码出来,然后 我 curl path > xx && source xx
@xjz19901211 整体 to_s 以后 加 html_safe 其实不推荐这样 LZ 可以贴代码出来看看情况是什么样的 描述的差点事啊 如果可以贴的话
@zj0713001 就是我想渲染一段 bash 代码,但代码中有些变量什么的,于是弄成 erb 的,然后 问题来了,代码 中的一些符号老是给我转换掉了。。
sanitize http://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html#method-i-sanitize
不要用 html_safe
update:上面是 html 的,bash 不熟,等楼下了
#9 楼 @xjz19901211 明白了,你是要输出 xxx.sh.erb。因为 erb
最广泛的用途就是 HTML 模板,而且在 Rails 里被设置成 <%= %>
默认 escape, 你可以用 <%== %>
来略过 escape
@xjz19901211 不是 html 干嘛不
# controller
respond_to do|format|
format.text
format.html
end
# view
xxx.text.erb
然后访问 xxx.text 呢?
@doitian @wppurking @jasl 谢谢,我明天去试试
其实,我发问时是以前非<%= %>里的也会转换,后来发现居然是不转换,只是<% %>中的转换了,那么就算也简单些了
format.text 不会转么?我得试试。。。 我试过用
format.bash #自己加的格式。。
但还是转换了
#13 楼 @xjz19901211 不是转换了,是你用了默认的 content type HTML,浏览器当成 HTML 解析了,curl 下载下来是不会有问题的。当然最好是使用正确的 content type