我在我的public/javascript
文件夾中有一個.js
文件,我想在該文件中包含dynamicaly生成的值。Rails:在運行時生成.js文件
是否有可能有dynamicaly生成的.js文件,像public/javascript/my_javascript.js.erb
感謝
我在我的public/javascript
文件夾中有一個.js
文件,我想在該文件中包含dynamicaly生成的值。Rails:在運行時生成.js文件
是否有可能有dynamicaly生成的.js文件,像public/javascript/my_javascript.js.erb
感謝
的東西怎麼樣在這個railscast詳述一個javascript控制器:
http://railscasts.com/episodes/88-dynamic-select-menus
現在,如果你只想在運行時實例化這個動態值,那麼你可以緩存它或存儲在一個實例變量中,這取決於數據來自哪裏。
只要頁面加載完成,您可以通過在動態文件中將js變量存儲在變量js中來保留現有javascript。
不,不在/公開。但是如果你喜歡,你可以從標準Rails動作中生成一個js文件。我不會推薦這個,因爲混合後端JavaScript代碼是創建一個不可維護和混亂的應用程序的最快方法之一。
更好的解決方案可能是在佈局中呈現腳本標記(在js includes之上)以動態設置js變量。然後在js中使用任何你需要它的地方使用MY_VAR。
<% javascript_tag do -%>
var MY_VAR = '<%= value_of_my_var || "defaultVal" %>';
<% end -%>
好的解決方案謝謝,對我來說,ryanb的解決方案更適合我的需求 – denisjacquemin 2010-04-06 08:54:58
是的:這是正確的路要走。 – 2010-04-06 15:38:07
雖然這不會創建全局變量嗎?從javascript的角度來看,這似乎是一個不好的做法。 – quoo 2013-02-21 14:34:28
是的,你不這樣做,你會更好地保持代碼靜態和使用軌道生成數據,例如說一個JSON的形式。
ryanb的解決方案對我來說是完美的,謝謝 – denisjacquemin 2010-04-06 08:54:06