我正在尝试迁移我们的应用程序以使用资产管道,因此我一直在本地测试我的更改(使用内置的 Webrick 服务器)。我的 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
请注意,config.serve_static_assets = true
这很完美,因为我可以运行
rm -rf tmp
rm -rf public/assets
RAILS_ENV=production bundle exec rake assets:clean
RAILS_ENV=production bundle exec rake assets:precompile
rails server -p 3500 -e production
在我的本地机器上,一切正常。但是,现在我想将我的更改推送到我们的生产 Apache 服务器我希望 Apache 服务资产,所以我设置:
config.serve_static_assets = false
如果我现在尝试在本地机器上加载生产 Rails 服务器,则不会加载静态资产。我不确定这是否是预期的行为(我的意思是,我告诉 Rails 不要为我提供静态资产,但事实并非如此——但我想要一些东西为我服务)。
所以我的问题是,我怎样才能config.serve_static_assets = false
在我production.rb
仍然能够运行本地生产 Rails 服务器的同时拥有?我要问的是可能的还是明智的?
谢谢
注意:使用 Rails 3.2.11