将html字符插入页面标题帮助器

时间:2012-05-18 18:21:20

标签: html ruby-on-rails css ruby-on-rails-3

这个问题并不重要......但是对我来说知道答案是有帮助的。我一直在使用Ryan Bates的putting titles on pages方法。顺便说一句,他是一个伟大的创新者,并且contributor对于rails社区,不是吗?

application_helper文件:

  def title(page_title)
    content_for(:title) { page_title }
  end

布局文件:

<head>
   <title>foo.com - <%= yield(:title) %></title>
   ...
</head>
<body>
   ...
   <h1 class="heading"><%= yield(:title) %></h1>

我正在尝试操纵标题以插入更多空格并使其中一个单词用斜体字表示。我想如果我把标题放在一起作为一个变量我可能会这样做。我尝试插入&nbsp;,但这不起作用。我尝试插入html <i></i>,但这不起作用。我想让它看起来像这样:

第一秒第三

如何更改下面的代码以使标题看起来像这样?

<% ttl = "First Second Third" %>
<% title ttl %>

感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

通过HTML语法,title元素内容必须是纯文本,浏览器实际上强制执行此操作:内容按原样呈现,而不将任何内容解释为HTML标记。

您可以在那里使用不间断空格,但您可能需要直接输入字符(U + 00A0)。

无论您使用何种技术生成<i>元素,都无法拥有title个标记。

答案 1 :(得分:3)

默认情况下,rails在视图中渲染字符串时会转义html,您需要使用html_safe将其标记为安全,以避免转义。

以下代码可以解决您的问题

<% ttl = "First &nbsp;&nbsp; Second &nbsp;&nbsp; <i>Third</i>" %>
<% title ttl.html_safe %>