2014-04-30 60 views
-1

我想在Ruby代碼中使用JavaScript變量。我試着用下面的代碼,但它不工作。如何在ruby代碼中使用Java Script變量?

<script> 
var total=100 
<%@final_amount + = total%> 
</script> 

這是拋出錯誤,因爲total是一個java腳本變量。請幫我解決這個問題。提前致謝。

+3

您需要了解客戶端 - 服務器模型的工作原理。 Ruby是服務器端,JS是客戶端。 Ruby在JavaScript之前執行。 – elclanrs

+0

@elclanrs所以我們不能這樣做? –

+0

不符合你的想法。您可以在Ruby中生成JavaScript。您可以使用AJAX和JSON在客戶端和服務器之間進行通信。服務器和客戶端是隔離的。 – elclanrs

回答

0

重要的是要明白,你的Ruby的東西發生在服務器端,而Javascript是爲客戶端。我不確定你爲什麼要在劇本中這樣做。我想你可以直接在Ruby的erb文件中做這個。請注意,您的Javascript不會知道這意味着什麼。 (我不確定Ruby是否在腳本標記中工作,或者他們故意不允許這樣做,我想他們故意不允許這樣做,所以單獨會觸發一個錯誤),但是,Ruby會運行,(但我不確定Ruby是否在腳本標記中工作或者他們故意不允許這樣做。它不會知道什麼total是。它只理解Ruby。所以,當你到達客戶端時,你將不再有紅寶石。您將擁有從該Ruby編譯的html。在你的腳本中,你將擁有var total = 100;,但你不會在那裏有那個ruby腳本。它將被編譯爲html。這是假設erb文件甚至允許在腳本中,我不知道他們這樣做。

相關問題