我想嵌入一些外部js文件中的一些rails数据,而不是将它放在我的.html.haml脚本标记中。我该怎么做呢?我环顾四周,阅读了.js.erb的东西,但我很难过。我也很困惑,因为我应该使用.rjs。如果这有帮助,我正在使用jquery。谢谢!外部JavaScript文件与嵌入式红宝石
欲了解更多信息,基本上我试图沿着瑞安贝特的railscast http://asciicasts.com/episodes/223-charts,但把所有的图形信息放在外部的js。他提到在加载页面时应该发出ajax请求,但我不是100%如何做到这一点。
到目前为止,我已经尝试做如下:
中的application.js:
$(document).ready(function(){
$.ajaxSetup({
'beforeSend': function (xhr) {xhr.setRequestHeader("Accept", "text/javascript")}
});
$.ajax({ type: 'POST', url: '/graphs'});
});
graphs.js.erb(随机的东西,看看它的工作原理):
$('.some_container').append('hello!');
$('h1').append('hello!');
这似乎工作,虽然你好在短暂的延迟后出现,我猜嵌入式红宝石也可以工作。然而,如果我开始添加图表的东西到这个.js.erb它停止工作(如data = 1
)。也有很多只是有一个动态的js文件。
编辑:“你好的附加在所有的意见,所以我一定是错做的事情:/我只希望它追加到配置文件视图。
我考虑把它在一个局部的那样,但那种失败不必担心所有的选项卡和东西(我使用哈姆),并使HTML代码没有嵌入