Rails 3 Jquery不';删除公共/资产后不执行
前几天,我遇到了一些Ajax问题,只需点击提交按钮,表单就被提交了多次。我四处浏览了一下,有人建议我删除我的public/assets文件夹,我这样做了,然后重新启动了服务器,结果发现我的一些Javascript库不再正常工作了 这实际上非常奇怪,因为我可以用Firebug调试器查看源代码,我可以看到它确实加载了。我试图清除我的缓存,我试图在开发模式下编译我的资产,我尝试重新启动我的系统,所有这些都不起作用。我的Javascript根本没有运行,在删除我的公共/资产文件夹后,它会无声地失败。-请参见编辑 快速参考我如何制作本期:Rails 3 Jquery不';删除公共/资产后不执行,jquery,ruby-on-rails-3,caching,asset-pipeline,Jquery,Ruby On Rails 3,Caching,Asset Pipeline,前几天,我遇到了一些Ajax问题,只需点击提交按钮,表单就被提交了多次。我四处浏览了一下,有人建议我删除我的public/assets文件夹,我这样做了,然后重新启动了服务器,结果发现我的一些Javascript库不再正常工作了 这实际上非常奇怪,因为我可以用Firebug调试器查看源代码,我可以看到它确实加载了。我试图清除我的缓存,我试图在开发模式下编译我的资产,我尝试重新启动我的系统,所有这些都不起作用。我的Javascript根本没有运行,在删除我的公共/资产文件夹后,它会无声地失败。-请
config.service\u static\u assets=false
,再次预编译并重新启动服务器- 我正在使用Rails版本3.1.3
- 我最近开始使用一个Gem,它要求我在开发中将config.cache_类设置为true。我通过将其设置为false并重新测试来验证这不是问题。
<script type="text/javascript">
$(document).ready(function() {
alert("Hello world!")
});
</script>
$(文档).ready(函数(){
警报(“你好,世界!”)
});
但这很好:
<script type="text/javascript">
alert("Hello world!")
</script>
警报(“你好,世界!”)
起初,我认为文件不是从我的资产管道加载的,但相反,我的更改似乎在幕后引起了某种冲突。我从application.js文件中删除了
require_tree
,并尝试手动加载库,发现它们又开始工作了,这对我来说不是一个理想的修复方法 找到了罪犯,实际上是一石二鸟。我的一个JavaScript文件第二次需要jquery和jquery_ujs,而我的application.js文件中已经需要jquery和jquery_ujs,这就是我提到的Ajax问题的原因。同一个文件运行的脚本没有包含jquery document ready包装器,它似乎破坏了其他所有内容
我相信这个问题是在我删除了我的public/assets文件夹后才出现的,因为它存储的是这个代码的旧版本,可能没有这些问题 似乎是什么原因导致了我的
jQuery(document).ready(函数($){…})代码>不触发的功能。。。。?