0

我正在处理 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;etc。

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

还有许多其他变体,但我无法弄清楚。有没有人遇到过类似的问题?

注意:我希望该帖子不是重复的,因为我不知道在哪里编码(在 Ruby 或 Javascript 中)。

4

1 回答 1

1

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

var curData = <%=raw BuildCompact.getData("ruby", "rubinius", 500).to_json %>;
于 2013-01-07T16:50:42.280 回答