【问题标题】:Bootstrap dropdown only works in developmentBootstrap 下拉菜单仅适用于开发
【发布时间】:2018-01-02 03:14:31
【问题描述】:

昨晚我的应用程序有一个引导下拉菜单,可用于生产和开发。我为页面的另一部分添加了引导折叠,现在我的下拉菜单仅在开发中有效,折叠在两者中都可以正常工作。我知道这在某种程度上与 Jquery 相关,因为我已经看到大量其他类似问题的帖子。每次我尝试新事物时都必须推送到 Heroku,这非常令人沮丧。在所有这些过程中,我可能从 application.js 中删除了一行,因为它似乎在投入生产之前一直在工作。在此期间,我将查看我的提交以了解我最初的内容。

应用程序.js

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require bootstrap/collapse
//= require bootstrap/dropdown
//= require turbolinks
//= require_tree

application.html.erb

<head>
  <%= csrf_meta_tags %>
  <script src="https://code.jquery.com/jquery-1.11.0.min.js"></script>
  <script src="https://netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
</head>

【问题讨论】:

    标签: ruby-on-rails twitter-bootstrap-3


    【解决方案1】:

    您是否重新编译了资产?通常,在部署更改时,您必须重新编译 js 和 css (minify/unify/gzip) 以便生产环境捕捉更改

    这在大多数情况下应该足够了,运行:

    rake assets:precompile
    

    【讨论】:

    • 太棒了。那么为什么当你在本地运行服务器时,JS 会在没有该命令的情况下编译呢?
    • [这里] launchschool.com/blog/rails-asset-pipeline-best-practices) 是一篇有用的文章。基本上,如果编译的资产不存在,它们将在服务器启动(生产)时创建。因此,手动删除已编译的资产文件夹并重新启动服务器会得到相同的结果。
    猜你喜欢
    • 2019-06-14
    • 1970-01-01
    • 2016-09-12
    • 2021-06-20
    • 2023-03-10
    • 2021-08-16
    • 1970-01-01
    • 2019-01-18
    • 2020-03-08
    相关资源
    最近更新 更多