我在我的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