运行rake资产时,错误无法加载css vs javascript:在rails 4.2.0上预编译

时间:2015-07-09 10:12:34

标签: ruby-on-rails-4

  • 现在,我遇到了资产问题:生产时预编译。
  • 当我运行bundle exec rake assets:precompile RAILS_ENV=production时。我的网站无法加载javascript文件和css文件。
  • 但是当我在开发环境中运行时,一切都很顺利。

  • 如果在config/environments/production.rb中,问题就在这里,并且我将此行设置为trueconfig.assets.compile = true相同。一切都很好。

  • 但是当我将默认设置设为config.assets.compile = false时。我的网站无法加载css文件和javascript文件。希望大家能为我解释一下吗?非常感谢你。

以下是我的application.css vs application.js

/*
*= require_self
*= require_tree .
*/

这是我的application.js文件:

//= require jquery_ujs
//= require jquery-ui.min
//= require plugins/back-to-top

这是application.html.erb

<%= stylesheet_link_tag  'application', media: 'all'%>
<%= javascript_include_tag "application" %>

1 个答案:

答案 0 :(得分:1)

在之前的rails中,资产被放置在公共文件夹中,但现在所有资产都位于assets文件夹中。设置:

config.assets.compile = true

启用实时编译。在实时编译中,所有资产都由链轮处理。第一次对资产进行缓存和编译,并使用MD5 hash更改其名称。

现在,您有预编译的资产存储在公共文件夹中,以及您需要设置的公共文件夹中的服务器资产:

config.serve_static_files = true

因此将其设置为true并重新启动服务器并再次检查。

更多详情:

http://guides.rubyonrails.org/asset_pipeline.html#in-production