0

Ruby パーシャルをレンダリングする .js.erb ファイルがあります。現在、すべてが正常に動作しており、最初の行は次のとおりです。

<%# encoding: utf-8 %>

後で行を追加すると

$("#name").text("Name &#x25BC;");

物事はまだうまくいきますが、Unicode は、私が望んでいた文字としてではなく、コードとして出てきます。上記を次のように置き換えると

$("#name").text("Name " + &#x25BC;);

パーシャルはレンダリングを拒否するだけです。私のRubyコンソールは嘘をつく

  Rendered interface/_tan.erb (5.5ms)
  Rendered interface/tan_complete.js.erb (20.0ms)

なぜこうなった?

4

1 に答える 1

2

jQueryを使用しているようです。代わりにこれを試してください:

$("#name").html("Name &#x25BC;");

.text()メソッドはプロパティを設定しますinnerText.html()メソッドはプロパティを設定しますinnerHTML。プロパティに挿入されると、HTML エンティティはプレーンテキストとしてレンダリングされinnerTextます。

レンダリングに失敗する理由については、Ruby の構文で が特別な意味を持ち (私は専門家ではありませんが)、がコメントを開始し$("#name").text("Name " + &#x25BC;);ていることはかなり確信しています。部分的なレンダリングに失敗するエラー。&#

于 2012-10-01T00:01:54.267 に答える