部署到Heroku时,不会预编译jquery-1.9.1.min.js

时间:2013-03-29 21:33:43

标签: ruby-on-rails heroku

我收到错误:

访问我的应用程序中包含include标记的页面时,

ActionView::Template::Error(jquery-1.9.1.min.js isn't precompiled)<%= javascript_include_tag "jquery-1.9.1.min"%>

请注意,我的观点正在处理所有其他页面,而这些页面偶然没有前面提到的include标记。

我已将config/application.rb设置为config.assets.initialize_on_precompile = false,并且我已在本地完成bundle exec rake assets:precompile。然后我推到了heroku但我仍然看到Heroku日志中的错误。

请注意jquery-1.9.1.min.js已在本地下载,并将其放入vendoer\assets\javascripts我的应用中,但我不认为这是问题因为我在该文件夹中有其他javascripts正在处理其他页面在生产中可以访问。

我的application.js有以下内容:

//= require jquery-1.9.1.min
//= require jquery_ujs
//= require jquery.numeric
//= require_tree .
//= require bootstrap

在开发中工作正常。如果相关,我的gemfile有gem 'jquery-rails', '2.0.2'

最后,在production.rb中,我尝试添加config.assets.precompile += %w( jquery-1.9.1.min.js, highstock.js )并使用bundle exec rake assets:precompile

由于rake assets:precompile public/assets application.js我的jquery-1.9.1.min已经拥有已编译jquery-1.9.1.min代码的{{1}},因此它还有一个单独的文件{{1}}看起来它被编译了两次。我不认为这是问题......

我无法弄清楚这一点。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好的,

我想到了这个野兽的工作。我认为config.assets.precompile += %w(...,...)中的','正在影响预编译。我拿出','。我还设置了config.assets.initialize_on_precompile = true,并使用rake assets:clean

取消了我最终的预编译

现在heroku进行预编译并且可以正常工作。