Rails 生产:javascript 不工作
Rails production: javascript not working
最近我在 Rails 生产中遇到奇怪的错误 - 一些 javascripts 不工作。在本地没有问题 - 一切正常,但生产。
我的application.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.minicolors
和 widget
(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
开始,其余脚本工作正常
我在 question
的帮助下找到了解决方案
我从 application.js
中移除
//= require highcharts/highcharts
//= require highcharts/highcharts-more
只保留
//= require highcharts/highstock
highstock.js
保留在 /vendor/assets/javascripts
中并包含 highcharts 工作所需的脚本
我知道这个问题已经解决了,但实际上我最近遇到了同样的问题。我通过将我的 jQuery 代码包装在以下代码中来修复它;
$(document).ready(
(custom JS goes here)
)
如果您(或将来的任何人)遇到同样的问题,我会说这是 Rails 如何加载 CSS/HTML 和 jQuery 的原因。显然 jQuery 在 Rails 应用程序中作为头部加载,因此它已加载但加载后无法访问。
最近我在 Rails 生产中遇到奇怪的错误 - 一些 javascripts 不工作。在本地没有问题 - 一切正常,但生产。
我的application.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.minicolors
和 widget
(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
开始,其余脚本工作正常
我在 question
的帮助下找到了解决方案我从 application.js
//= require highcharts/highcharts
//= require highcharts/highcharts-more
只保留
//= require highcharts/highstock
highstock.js
保留在 /vendor/assets/javascripts
中并包含 highcharts 工作所需的脚本
我知道这个问题已经解决了,但实际上我最近遇到了同样的问题。我通过将我的 jQuery 代码包装在以下代码中来修复它;
$(document).ready(
(custom JS goes here)
)
如果您(或将来的任何人)遇到同样的问题,我会说这是 Rails 如何加载 CSS/HTML 和 jQuery 的原因。显然 jQuery 在 Rails 应用程序中作为头部加载,因此它已加载但加载后无法访问。