如何在Ruby on Rails项目中使用JavaScript解码HTML实体

How to decode HTML entities in JavaScript using in a Ruby on Rails project

本文关键字:JavaScript 解码 实体 HTML 项目 Ruby on Rails      更新时间:2023-09-26

我正在处理Ruby on Rails和JavaScript。
主要的基本思想是,我在模型的类函数中创建一个对象,并在JavaScript中调用该函数。这里的问题是任何地方的HTML实体都被编码为

现在详细说明:
在我的模型的函数getData(firstOpt, secondOpt, amount)中,我创建了一个对象,看起来如下(当我在ruby控制台中调用该函数时):

[#<JobCompact build_compact_id: 324>, #<JobCompact build_compact_id: 325>, #<JobCompact build_compact_id: 325>] 

现在我把它放入数组(因为我想在数组中有更多的条目)在第一个位置:

data[0] = firstLang  

(注:我也试过-> data[0] = firstLang.to_json)

最后我只返回数组数据。现在我在JavaScript中调用函数:

var curData = <%= BuildCompact.getData("ruby", "rubinius", 15) %>;

,误差为:Uncaught SyntaxError: Unexpected token ILLEGAL
因为它将我的ruby函数的结果转换为:var curData = [[#&lt;JobCompact id: 841, language: &quot;ruby&quot;, version: &quot;1.609481891837258&quot;

我也试着解码结果:
var curData = htmlentities((<%= BuildCompact.getData("ruby", "rubinius", 15) %>).toString());

和许多其他的变体,但我不明白。有人遇到过类似的问题吗?

注意:我希望这篇文章不是重复的,因为我不知道在哪里编码(在Ruby和Javascript)。

好的,我的问题的答案是:

var curData = <%=raw BuildCompact.getData("ruby", "rubinius", 500).to_json %>;