Ruby on rails 引导下拉导航不工作导轨6

Ruby on rails 引导下拉导航不工作导轨6,ruby-on-rails,webpack,bootstrap-modal,Ruby On Rails,Webpack,Bootstrap Modal,我的下拉菜单在rails 6应用程序中不起作用。请参阅以下文件: _navigation.erb.html <nav class="navbar navbar-static-top navbar-inverse"> <div class="navbar-header"> <a class="navbar-brand" href="/">Home</a> </div> <div class="nav

我的下拉菜单在rails 6应用程序中不起作用。请参阅以下文件:

_navigation.erb.html

<nav class="navbar navbar-static-top navbar-inverse">

    <div class="navbar-header">
      <a class="navbar-brand" href="/">Home</a>
    </div>
  <div class="nav-collapse collapse">
    <div class="nav pull-right">
      <a class="dropdown-toggle" href="#" id="dropdownMenuLink" data-toggle="dropdown">
        <span class="caret"></span>
        Menu
      </a>
       <ul class="dropdown-menu" role="menu">

        <li><%= link_to "Add New Festival", new_festival_path %></li>
        <li><%= link_to "Add New Review", new_review_path %></li>
        <li><%= link_to "View Festivals", festivals_path %></li>
        <li><%= link_to "View Reviews", reviews_path %></li>
        <li><%= link_to "View Cities", cities_path %></li>
        <li><%= link_to "Log Out", logout_path, method:'delete' %></li>
      </ul>

    </div><!--/.nav-collapse -->
  </div>
</nav>
这是我的environment.js文件:

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


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

module.exports = environment

请让我知道是否有其他文件有助于解决此问题。谢谢。

如果@hashrocket处于正确的领先地位,而您没有jQuery工作,可能是因为您在导出之前需要在environment.js中执行以下操作:

您还需要npm安装公开加载程序,以防您没有


希望有帮助

如果@hashrocket处于正确的领先地位,而您没有jQuery工作,可能是因为您在导出之前需要在environment.js中执行以下操作:

您还需要npm安装公开加载程序,以防您没有


希望有帮助

问题很可能是因为您使用的是jquery 3.5.0+。我自己也遇到过3.5.0+的问题,但当我将jquery降级到3.4.1时,它就可以工作了:

"jquery": "^3.4.1",
"popper.js": "^1.16.1",
以下是environment.js:

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

import "bootstrap"
可以使用以下命令安装的所有jquery版本:
问题很可能是因为您使用的是jquery 3.5.0+。我自己也遇到过3.5.0+的问题,但当我将jquery降级到3.4.1时,它就可以工作了:

"jquery": "^3.4.1",
"popper.js": "^1.16.1",
以下是environment.js:

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

import "bootstrap"
可以使用以下命令安装的所有jquery版本: 我删除了这个:

现在,它正在工作。

我删除了以下内容:

npm install @popperjs/core

现在,它正在发挥作用

npm install @popperjs/core
我的问题解决了这个代码。我添加了其他建议解决方案的评论,但我的工作仍然存在同样的问题。但通过尝试这个nmp popperjs安装代码,它现在可以在下拉菜单中运行了。也许这个代码工作更新npm包


我的问题解决了这个代码。我添加了其他建议解决方案的评论,但我的工作仍然存在同样的问题。但通过尝试这个nmp popperjs安装代码,它现在可以在下拉菜单中运行了。也许这段代码可以更新npm包。

您的jQuery是否可以运行?请尝试将引导程序放在application.js的最后。另外,为什么要导入“引导”?为什么不
require(“bootstrap”)
?您的jQuery能正常工作吗?请尝试将bootstrap放在application.js的最后。另外,为什么要导入“引导”?为什么不
require(“bootstrap”)
?我尝试了这个,但我的jquery似乎不起作用。你还有其他建议吗?谢谢。我试过了,但我的jquery似乎不起作用。你还有其他建议吗?谢谢。我试过了,但是我的jquery仍然不起作用。你还有别的想法吗?谢谢。我试过了,但是我的jquery仍然不起作用。你还有别的想法吗?谢谢。这并不是问题的答案。一旦你有足够的钱,你将能够;相反这并不能回答这个问题。一旦你有足够的钱,你将能够;相反-