【发布时间】:2020-01-17 17:14:52
【问题描述】:
我有一个使用此代码的“全选”按钮:
<script type='text/javascript'>
$('#check_all').on("click", function() {
$('input[type="checkbox"]').click();
});
</script>
自从我升级到 Rails 6 + Webpacker 后,它就停止工作了。 控制台显示此错误:
Uncaught ReferenceError: $ is not defined
我设法通过将environment.js 更改为:
environment.plugins.append('Provide',
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
Popper: ['popper.js', 'default']
})
)
收件人:
environment.plugins.append('Provide',
new webpack.ProvidePlugin({
$: 'jquery/src/jquery',
jQuery: 'jquery/src/jquery',
Popper: ['popper.js', 'default']
})
)
但一旦修复,数据表就会中断。
任何想法如何让他们一起工作? 谢谢!
【问题讨论】:
-
您的
environment.js是正确的。哪个源代码行导致ReferenceError? “全选”按钮的代码在哪里以及它是如何进入application.js包的? -
有关此数据表错误的更多信息?
-
@MaayanNaveh 您是否将
app/views/layouts/application.html.erb中的javascript_include_tag更改为javascript_pack_tag?我重复你的代码,我没有看到任何错误,并且复选框按预期打勾。 -
@inopinatus 优秀的系统阅读!
标签: jquery ruby-on-rails webpack datatables ruby-on-rails-6