javascript - 无法将 unicode 字符添加到 js.erb 文件

标签 javascript ruby-on-rails ruby unicode

我有一个 .js.erb 文件,它呈现 Ruby 部分。现在,一切正常,第一行是

<%# 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)

为什么会发生这种情况?

最佳答案

您似乎正在使用 jQuery。试试这个:

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

.text() 方法设置 innerText 属性。 .html() 方法设置 innerHTML 属性。 HTML 实体在注入(inject) innerText 属性时呈现为纯文本。

至于为什么 $("#name").text("Name "+ ▼); 无法渲染,我相当确定 & 在 Ruby 语法中具有特殊意义(尽管我远非专家),并且 # 开始注释,因此该行很可能在语法上不正确,从而导致错误部分渲染失败。

关于javascript - 无法将 unicode 字符添加到 js.erb 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12666115/

相关文章:

javascript - 将 onclick 事件设置为自定义函数会导致语法错误

html - Bootstrap 媒体对象图像调整大小

ruby-on-rails - 在 Apache 下的子目录中配置 Ruby On Rails App

ruby-on-rails - 使 delayed::job 任务在开发中立即运行

sql - ROR 内连接给出重复值

sql - 索引名称太长 attachinary/postgresql

ruby-on-rails - RSpec 测试卡在新机器 OSX 上

javascript - 检查.load是否真正加载了内容,然后向下滑动

javascript - 如何在 req.body 中使用变量 - nodejs

javascript - 如果相同位置的项目相等,则比较数组项目(项目是数组)