繁体   English   中英

Rails 5 JavaScript资产管道问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM