好的,所以我已经按照教程使用jQuery使我的rails flash警报淡出(第一次集成任何jQuery在rails -我仍然是一个初学者)。我已经添加了gem 'jquery-rails',在我的application.js中需要它,并且(现在)将这些行放在我的application.html.erb:
<script>
$(document).ready(function(){
setTimeout(function() {
$('.notice-wrapper').fadeOut("slow", function() {
$(this).remove();
})
}, 4500);
});
</script>
警报显示,但他们不淡出。我的检查员告诉我:
Uncaught ReferenceError: $ is not defined
根据我的研究,这可能意味着jquery还没有加载?所以我试着把剧本放进脑子里——没有变化。有人有这方面的经验吗?还是有更简单的解决方法?
谢谢你的帮助!
不工作的原因是因为我需要在我的environment.js中调整2行。这是我的默认值:
environment.plugins.prepend('Provide',new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
Popper: ['popper.js', 'default'] }));
将包含'jquery'的行调整为:
$: 'jquery/src/jquery',
jQuery: 'jquery/src/jquery',
这一切都行得通。希望有人觉得这有帮助。祝你今天愉快!