在我的application.js中我有
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require s3_direct_upload
//= require_tree .
我在javascript文件夹中还有4个javascript文件,其他application.js。 它们是:users.js,access.js,documents.js和bands.js。
我在documents.js中写了一些javascript代码并且工作正常。然后我尝试在bands.js中编写代码,没有任何反应,好像javascript文件甚至没有加载。然后我决定做一个简单的测试并写一个警报(" Hello");在我的每个javascripts顶部的消息,事实证明,仅为documents.js和users.js弹出警报消息,而不是为任何其他人(即,当我访问相应视图的索引页面时) 。这似乎是随机的。我曾尝试重启我的服务器几次,没有任何改变。这对我来说真的很奇怪。我无法想到提供任何有用的代码,但如果您希望看到某些代码,请告诉我。如何让我的javascript响应他们认为适用的所有页面?请帮忙!!
答案 0 :(得分:0)
我会删除require_tree .
并单独要求每个js文件
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require s3_direct_upload
//= require //= require jquery
//= require jquery_ujs
//= require turbolinks
//= require s3_direct_upload
//= require user
//= require access
//= require documents
通过这种方式,您可以知道所包含的内容,这对您有用,因为您没有大量的js文件。
然后转到浏览器控制台并展开<head>
元素并确保包含所需的js文件,点击搜索并搜索您的文件名。