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>

タイトルを操作して、より多くのスペースを挿入し、単語の 1 つをイタリック体にしようとしています。タイトルを変数にまとめればできるのではないかと思いました。挿入しよう&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 に答える