【发布时间】:2019-04-10 13:47:59
【问题描述】:
使用 materialize 1.0.0 gem,我不断收到“未捕获的 TypeError:sideNav”或“下拉菜单不是函数”,并已恢复到 0.100.2 版本的 materialize 以使工作正常。我知道这来自 jquery 并且物化没有像他们应该的那样一起工作,所以如果有人对这个问题有任何见解,我将不胜感激,以便我可以开始使用 1.0.0。
这是一些代码。如果您需要更多,请告诉我。
应用程序.js
//= require rails-ujs
//= require turbolinks
//= require activestorage
//= require jquery
//= require materialize
application/layouts/shared/_header.html.erb
<nav>
<div class="nav-wrapper">
<a href="#!" class="brand-logo">Logo</a>
<a href="#" data-target="mobile-demo" class="sidenav-trigger"><i class="material-icons">menu</i></a>
<ul class="right hide-on-med-and-down">
<li><a href="sass.html">Sass</a></li>
<li><a href="badges.html">Components</a></li>
<li><a href="collapsible.html">Javascript</a></li>
<li><a href="mobile.html">Mobile</a></li>
</ul>
</div>
</nav>
<ul class="sidenav" id="mobile-demo">
<li><a href="sass.html">Sass</a></li>
<li><a href="badges.html">Components</a></li>
<li><a href="collapsible.html">Javascript</a></li>
<li><a href="mobile.html">Mobile</a></li>
</ul>
<script>
$(document).ready(function(){
$('.sidenav').sidenav();
});
</script>
我也尝试过恢复到旧版本的 jquery-rails gem,但我的应用程序中的其他 gem 至少依赖 4.2 并且恢复到这个版本似乎不是一个选项。
【问题讨论】:
-
我可能会问一个明显的问题......你是否包含了materializecss脚本文件?
-
是的,我明白了。但我刚刚偶然发现了一个链接,它让我意识到我的 javascript 文件夹中缺少一个咖啡脚本。我会把它作为答案发布,这样如果其他人有同样的问题,这应该会有所帮助。
标签: ruby-on-rails-5 materialize