ruby-on-rails - Rails 6 + yarn + 数据表问题

标签 ruby-on-rails datatables yarnpkg webpacker ruby-on-rails-6

我在使用 webpacker 时遇到了麻烦。我正在使用 Rails 6.beta3 并尝试将数据表添加到我的应用程序中。我的步骤:

 yarn add datatables.net-dt

然后在app/javascript/packs/application.js中:

require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
import 'bootstrap/dist/js/bootstrap';
import 'popper.js/dist/popper.js';

require( 'datatables.net-dt' )();

config/webpack/environment.js:

const { environment } = require('@rails/webpacker')
const webpack = require('webpack')
module.exports = environment
environment.plugins.append('Provide', new webpack.ProvidePlugin({
  $: 'jquery',
  jQuery: 'jquery',
  Popper: ['popper.js', 'default']
}))

在此之后,如果加载页面,我会在 js 控制台中收到错误:

Uncaught TypeError: Cannot set property '$' of undefined
    at DataTable (jquery.dataTables.js:129)

jquery.dataTables.js:

 var DataTable = function DataTable(options) {
    this.$ = function (sSelector, oOpts) { // <---------error is here. Turns out this is not defined variable
      return this.api(true).$(sSelector, oOpts); 
    };

有什么想法吗?提前致谢

最佳答案

哦。这是我的错。我发现了这个问题。在 app/javascript/packs/application.js 末尾出现错误。我认为它不会对整体性能产生影响,但在消除这个问题后,它开始正常工作。

关于ruby-on-rails - Rails 6 + yarn + 数据表问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55850722/

相关文章:

jquery - 数据表未在 django-datatable-view 中填充数据

javascript - 如何在不刷新页面的情况下重新初始化同一页面中的数据表

vue.js - 如何在 Yarn 中部署私有(private) gitlab 依赖项的包

node.js - yarn pnp 回退到默认要求

ubuntu - yarn安装命令报错No such file or directory : 'install'

ruby-on-rails - 如何检查一个数字是否包含在一个范围内(在一个语句中)?

ruby-on-rails - Rails actiontext/trix 显示问题

ruby-on-rails - rails : How to find out what query is being run in SQL when a page loads?

javascript - DataTables 导出到 Excel 下载 zip 文件

ruby-on-rails - 捆绑 geoip-c - 给出错误 "you must have geoip c library installed"