2014-10-29 195 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