如何正确地将嵌入式ruby代码放入JavaScript?

时间:2012-05-09 22:12:23

标签: javascript ruby-on-rails ruby json sinatra

我试图在JavaScript中嵌入Ruby代码的输出:

var stuff= "<% Representative.get('http://0.0.0.0:4568/') %>";

嵌入式部件正在单独工作,显示如下结果:

{ "name":"John Johnson", "street":"Oslo West 555", "age":33, "phone":"555 1234567"} 

以上一行是精确的页面来源;它虽然在本地运行,但我无法向您显示页面。

在变量中,我尝试将其发送到我的应用程序:

document.getElementById("X_Axis").value=stuff.name;

通过输入:

<input type="text" id="X_Axis" />

我每次都获得undefined值。

我尝试在JavaScript中对代码进行硬编码,并且它工作得很好,当嵌入式Ruby放入JavaScript变量时,它总是给我undefined值。

1 个答案:

答案 0 :(得分:4)

您不应该在ERB代码周围加上引号,否则它会将结果放在字符串中,而不是将其作为散列/ JSON对象分配给stuff。删除它们,它应该工作。 (另外,<%应为<%=)。

var stuff = <%= Representative.get('http://0.0.0.0:4568/') %>;