我有一个 .js.erb 文件,它呈现 Ruby 部分。现在,一切正常,第一行是
<%# encoding: utf-8 %>
稍后当我添加该行时
$("#name").text("Name ▼");
一切仍然有效,但 Unicode 作为代码出现,而不是我想要的字符。当我用
替换上面的内容时$("#name").text("Name " + ▼);
部分只是拒绝渲染。我的 Ruby 控制台甚至撒谎说
Rendered interface/_tan.erb (5.5ms)
Rendered interface/tan_complete.js.erb (20.0ms)
为什么会发生这种情况?
最佳答案
您似乎正在使用 jQuery。试试这个:
$("#name").html("Name ▼");
.text()
方法设置 innerText
属性。 .html()
方法设置 innerHTML
属性。 HTML 实体在注入(inject) innerText
属性时呈现为纯文本。
至于为什么 $("#name").text("Name "+ ▼);
无法渲染,我相当确定 &
在 Ruby 语法中具有特殊意义(尽管我远非专家),并且 #
开始注释,因此该行很可能在语法上不正确,从而导致错误部分渲染失败。
关于javascript - 无法将 unicode 字符添加到 js.erb 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12666115/