[英]Rails 5 JavaScript asset pipeline issue
我试图像这样在我的Rails应用程序中加载一些JavaScript:
Application.html.erb(在头部)
<%= javascript_include_tag 'application' %>
Application.html.erb(在HTML结束之前)
<script>
$(document).ready(function() {
notie.alert(1, "It Works", 2);
});
</script>
Application.js
//= require rails-ujs
//= require turbolinks
//= require theme/jquery
//= require theme/bootstrap
//= require theme/select2
//= require theme/notie
//= require theme/plugins
//= require theme/app
//= require_tree .
进行此设置后,出现以下错误:
TypeError: document.body is null
TypeError: notie is undefined
在我看来,该错误可能是由于turbolinks和JS如何通过资产管道加载而引起的,但是对我而言,我无法弄清楚它出了什么问题。 任何帮助表示赞赏。
问题似乎是您的Javascript在<body>
标记中要求它在DOM中存在。 这就是为什么出现错误的原因:
TypeError: document.body is null
对于这样的Javascript,最好将其加载到页面底部,而不是Head。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.