【问题标题】:Rails production: javascript not workingRails 生产:javascript 不工作
【发布时间】:2015-01-08 10:38:27
【问题描述】:

最近我在 Rails 生产中遇到了奇怪的错误 - 一些 javascripts 无法正常工作。本地没有问题 - 一切正常,但生产。

我的应用程序.js

//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
//= require moment
//= require bootstrap-datetimepicker
//= require pickers
//= require cocoon
//= require jquery.minicolors
//= require widget
//= require highcharts/highcharts
//= require highcharts/highcharts-more
//= require highcharts/highstock
//= require_tree .

不起作用的脚本 - jquery.minicolorswidget(coffescript)。

我已尝试将这些脚本添加到

config.assets.precompile += %w( widget.js.coffee jquery.minicolors.js )

production.rb,但那也行不通

这很奇怪,但如果我删除

//= require highcharts/highcharts
//= require highcharts/highcharts-more
//= require highcharts/highstock

来自application.js 其余脚本工作正常

【问题讨论】:

  • 您是否正确预编译了资产?
  • 控制台有什么东西吗?
  • @japed 查看我写的更新

标签: javascript ruby-on-rails highcharts


【解决方案1】:

我知道这个问题已经解决了,但实际上我最近也遇到了同样的问题。我通过将我的 jQuery 代码包装在以下内容中来修复它;

    $(document).ready(

     (custom JS goes here)

)

如果您(或将来的任何人)有同样的问题,我会说这是 Rails 如何加载 CSS/HTML 和 jQuery 的原因。显然 jQuery 是作为 Rails 应用程序中的头部加载的,因此它已加载但加载后无法访问。

【讨论】:

    【解决方案2】:

    我在question 的帮助下找到了解决方案

    我从application.js删除了

    //= require highcharts/highcharts
    //= require highcharts/highcharts-more
    

    只保留

    //= require highcharts/highstock
    

    highstock.js 保留在 /vendor/assets/javascripts 中并包含用于 highcharts 工作的必要脚本

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-16
      • 2016-05-08
      • 2012-08-29
      • 2017-04-14
      • 1970-01-01
      • 2012-04-03
      相关资源
      最近更新 更多