我遇到了Rails 3.1资产管道的问题.资产包括两次开发:
<script src="/assets/main_new.js?body=1" type="text/javascript"></script>
<script src="/assets/pagenav.js?body=1" type="text/javascript"></script>
<script src="/assets/tours.controller.js?body=1" type="text/javascript"></script>
<script src="/assets/tours.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
Rails以某种方式编译并包含application.js,因此所有脚本都包含两次 - 作为单个文件和application.js
生产中的预编译资产一切都很好.
development.rb
config.assets.compress = false
config.assets.debug = true
Run Code Online (Sandbox Code Playgroud)
production.rb
# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = false
# Compress both stylesheets and JavaScripts
config.assets.compress = true
config.assets.js_compressor = :uglifier
config.assets.css_compressor = :scss
config.assets.compile = false
config.assets.digest = true
Run Code Online (Sandbox Code Playgroud)
application.rb中
config.assets.enabled = true
Run Code Online (Sandbox Code Playgroud)