Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery $(…)。datepicker不是Rails 6中的函数_Jquery_Ruby On Rails_Ruby On Rails 6 - Fatal编程技术网

Jquery $(…)。datepicker不是Rails 6中的函数

Jquery $(…)。datepicker不是Rails 6中的函数,jquery,ruby-on-rails,ruby-on-rails-6,Jquery,Ruby On Rails,Ruby On Rails 6,无法理解为什么我无法使任何jQuery插件功能(引导、日期选择器等)正常工作: $(…).datepicker()或$(…).modal()以响应。。。不是Rails 6中的函数 请注意: $和jQuery在控制台中响应 jQuery包含在其他脚本之前 jQuery只包含一次 application.js: require("@rails/ujs").start() require("turbolinks").start() require("@rails/activestorage").s

无法理解为什么我无法使任何jQuery插件功能(引导、日期选择器等)正常工作:

$(…).datepicker()
$(…).modal()
响应。。。不是Rails 6中的函数

请注意:

  • $和jQuery在控制台中响应
  • jQuery包含在其他脚本之前
  • jQuery只包含一次
application.js:

require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require("jquery")
require("parsleyjs")
require("bootstrap-datepicker")

import '../stylesheets/application'
import './bootstrap_custom.js'
import './ru.js'
package.json:

{
  "name": "joy",
  "private": true,
  "dependencies": {
    "@rails/actioncable": "^6.0.0-alpha",
    "@rails/activestorage": "^6.0.0-alpha",
    "@rails/ujs": "^6.0.0-alpha",
    "@rails/webpacker": "^4.0.7",
    "bootstrap": "4.3.1",
    "bootstrap-datepicker": "^1.9.0",
    "jquery": "^3.4.1",
    "parsleyjs": "^2.9.1",
    "popper.js": "^1.16.0",
    "turbolinks": "^5.2.0"
  },
  "version": "0.1.0",
  "devDependencies": {
    "webpack-dev-server": "^3.8.2"
  }
}
env.js:

const { environment } = require('@rails/webpacker')

const webpack = require('webpack')
environment.plugins.append(
  'Provide',
  new webpack.ProvidePlugin({
    $: 'jquery/src/jquery',
    jQuery: 'jquery/src/jquery',
    Popper: ['popper.js', 'default'],
    Parsley: 'parsleyjs/src/parsley.js',
    datepicker: 'bootstrap-datepicker/js/bootstrap-datepicker.js'
  })
)

module.exports = environment

顺便说一句,如果我用
数据切换调用bootstrap的model,它将成功打开。

尝试向application.js添加以下代码:

require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require("jquery")
require("parsleyjs")
require("bootstrap-datepicker")

import '../stylesheets/application'
import './bootstrap_custom.js'
import './ru.js'
从“jquery”导入jquery;

window.$=window.jquery=jquery为什么两次包含jquery($和jquery)?一些jquery插件同时使用$和jquery选择器引用jquery。这是一条奇怪的错误消息。。。Rails 6中的函数不只是一个猜测,但可能是因为在package.json中,引导在jquery之前?当您尝试像
$('div').hide()这样的本机jquery函数时,确切的错误消息是什么?尝试了之后,什么也没有发生:(您还应该包括jQueryUI这是一个针对旧版本的解决方案,只需在rails 6中使用jQueryUI即可