3

私の見解では、リンクにいくつかの直角二重引用符を表示したいと考えています。

Rails 3 より前は、次のように機能していました。

<%= link_to "&raquo; #{@category.name}", some_path %>

&raquo;を html_safe として指定したいが、リンクの残りのテキストは指定したくない場合はどうすればよいですか?

言い換えれば、私はこれをしたくありません:

<%= link_to "&raquo; #{@category.name}".html_safe, some_path %>@category.nameをhtml_safe として扱い たくありません。

これにより、目的の結果が生成されます。

<%= link_to "&raquo;".html_safe + " #{@category.name}", some_path %>

ただし、これを行うと:

<%= link_to "#{@category.name}" + "&raquo;".html_safe, some_path %>

角度引用符の出力は、安全なものとして扱われません。&raquo;»ではなく自分のページに表示されます。

なんで?

"&raquo;".html_safe同じ結果でヘルパーメソッドに抽出しようとしました。

Rails 3でハードコーディングされたテキスト/シンボルをHMTLセーフとして簡単に指定する方法はありますか?

ありがとう。

4

2 に答える 2

3

この状況では、安全でない部分を明示的にエスケープすることがよくあります。

"&raquo; #{h @category.name}".html_safe
于 2011-06-01T21:56:05.670 に答える
0

文字列全体が html_safe であることを確認する必要があります...

これを試すことをお勧めします:

   "&raquo; #{h @cagegory.name}".html_safe
于 2011-06-01T21:54:24.930 に答える