我有一个Rails应用程序,在开发环境下可以很好地加载所有资源。
<link rel="stylesheet" href="/assets/reset.css" type="text/css" media="screen" title="no title" />
<link rel="stylesheet" href="/assets/text.css" type="text/css" media="screen" title="no title" />
<link rel="stylesheet" href="/assets/buttons.css" type="text/css" media="screen" title="no title" />
<link rel="stylesheet" href="/assets/theme-default.css" type="text/css" media="screen" title="no title" />
<link rel="stylesheet" href="/assets/login.css" type="text/css" media="screen" title="no title" />
<link rel="stylesheet" href="/assets/notify.css" type="text/css" media="screen" title="no title" />
在生产服务器上,仍然使用上述代码加载CSS。不应该使用/assets/application.css文件吗?我已经手动运行了rake assets:precompile任务,并且可以看到它已经在/public/assets文件夹中创建了所需的文件。
那么,我需要做什么来告诉Rails使用压缩文件呢?
我的production.rb文件如下:
# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = true
# Compress JavaScripts and CSS
config.assets.compress = true
# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = false
# Generate digests for assets URLs
config.assets.digest = true