我有一个 Rails 3.2.13 应用程序,其中的标题包含站点名称和页面特定文本。公共部分在布局中定义,在每个 HAML 视图中定义页面特定部分。
首先我provide
是这样使用的:
# layout.html.haml
%title= (content_for?(:title) ? "#{yield(:title)} | " : "") + "Chunky-B"
# show.html.haml
- provide(:title, @listing.name)
我的问题是,当从模型中提取页面特定内容时,它会被转义两次。如果@listing.name
包含(未转义的)&符号我得到输出
<title>Bacon &amp; Eggs | Chunky-B</title>
我最近改用gem作为我的meta-tags
标题和元描述,但同样的问题仍然存在。
我知道我需要一些组合h
,html_safe
甚至可能raw
。有了这个问题的答案和一些试验和错误,我可能会到达那里,但我以前不必绕过内置的转义,也不想冒着打开漏洞的风险来猜测自己。在写这个问题时,我有一种预感,但我敢打赌,热切的回答者会打败我。:)