0

这个问题并不严重......但有助于我知道答案。我一直在使用 Ryan Bates将标题放在页面上的方法。顺便说一句,他是 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 %>

谢谢你的帮助。

4

2 回答 2

4

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

那里可以有不间断的空格,但您可能需要直接输入它们作为字符 (U+00A0)。

<i>无论您使用什么技术来生成title元素,您都不能在那里有标签。

于 2012-05-18T19:30:14.183 回答
3

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

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

<% ttl = "First &nbsp;&nbsp; Second &nbsp;&nbsp; <i>Third</i>" %>
<% title ttl.html_safe %>
于 2012-05-18T18:34:46.670 回答