2014-10-29 150 views
0

我只是想路由的根URL登录到控制台:包含在JavaScript文件路径佣工

应用程序/资产/ Java脚本/ foo.js.erb:

console.log(<%= root_path %>); 

然而,这给了我在JavaScript控制台中的这个错误:

Uncaught SyntaxError: Invalid regular expression: missing/

如何将路由助手包括到JavaScript文件?

值得注意的我能做到这一点没有问题:

console.log(<%= pi = "3.142" %>); //-> 3.142 

然而,有一个奇怪的错误,当我试图把文字转化成我的字符串:

console.log(<%= pi = "3.142t" %>); //-> Uncaught SyntaxError: Unexpected token ILLEGAL 

我需要能够用字母记录字符串如果我想让我的路由助手工作! :)

+0

什么让你觉得助手不包括在内?这将是一个不同的错误。你没有引用助手的*生成的字符串,例如,你正在生成非法的JavaScript。这里根本没有什么奇怪的东西,你只是不打扰你看看你生成的东西。 – 2014-10-29 16:17:20

+0

没有必要如此激进,朋友 – Starkers 2014-10-29 16:18:45

+1

没有什么太过激进的,尽管你是正确的,因为我跳过了最初步的调试步骤。 – 2014-10-29 16:23:49

回答

0

在JavaScript有机会读取它之前,服务器端正在解析Erb。当在浏览器中运行它会读取:

console.log(http://root_url.com); 

你可以看到,你是在这里失去了引号。请尝试:

console.log('<%= root_url %>'); 
+0

救生员非常感谢! – Starkers 2014-10-29 16:19:04