为什么javascript不包含标签引用工作?
在新的Rails应用程序中,它将具有以下标记,其中包括javascripts文件夹中的所有js文件:为什么javascript不包含标签引用工作?,javascript,ruby-on-rails,Javascript,Ruby On Rails,在新的Rails应用程序中,它将具有以下标记,其中包括javascripts文件夹中的所有js文件: <%= javascript_include_tag 'application'%> 它还会在运行时创建对这些js文件的奇怪的引用: <script src="/assets/cbpAnimatedHeader.self-2f56b42e64e4cd1aeca79d75fab98d1e72c4ee686ded129c7b6bd100065c0c84.js?body=1">
<%= javascript_include_tag 'application'%>
它还会在运行时创建对这些js文件的奇怪的引用:
<script src="/assets/cbpAnimatedHeader.self-2f56b42e64e4cd1aeca79d75fab98d1e72c4ee686ded129c7b6bd100065c0c84.js?body=1"></script>
当我在页面上使用来自上述文件的函数时,会出现一个未找到的错误
如果我添加此引用,则一切正常:
<script src="assets/cbpAnimatedHeader.js"></script>
为什么javascript不包含标签引用工作 在开发中,将资产添加到链轮时,如下所示:
// app/assets/javascripts/foo.js
//= require bar
//= require baz
以及使用Rails资源帮助程序:
<%= javascript_include_tag "foo" %>
运行时的奇怪引用
它们是:
指纹识别是一种使文件名取决于文件内容的技术。当文件内容更改时,文件名也会更改。对于静态或不经常更改的内容,这提供了一种简单的方法来判断文件的两个版本是否相同,即使在不同的服务器或部署日期之间也是如此
这是Rails功能的一个标准部分——当您预编译资产并在生产环境中运行它们时,这一点尤为明显
-
为什么javascript不包含标签引用工作
它可能是
<%= javascript_include_tag 'application'%>
必须注意的是,上面的内容显示在app/assets/javascripts文件夹中,您的cbpAnimatedHeader.js似乎位于app/assets中
考虑到您有app/assets/javascripts/cbpAnimatedHeader.js在application.js文件中显示包含内容,上述操作应该可以正常工作。一切正常吗?这是生产用的吗?你说的显示包含内容是什么意思?这是为development.application.js提供的,其中包括cbpAnimatedHeader.js文件,无论如何,我在application.js中没有任何内容。您在哪里包括cbpAnimatedHeader.js?javascript_include_标记显示应用程序
<%= javascript_include_tag 'application'%>
#app/assets/javascripts/application.js
// ...
//= require jquery
//= require jquery_ujs
//= require_tree .