Ruby on rails 钢轨生产不是';t在服务器重新启动时更新静态资产
在实际使用代码之前,我在本地的生产环境中运行代码。我在生产过程中注意到javascript中的一个bug,修复了它,然后返回。这个错误持续存在。不过,我在dev中试过了,bug被修复得非常好!我重新启动了服务器,重新启动了计算机,并尝试了另一个SO问题touch/tmp/restart.txt中列出的解决方案,但似乎没有任何东西能够让Rails重新加载资产Ruby on rails 钢轨生产不是';t在服务器重新启动时更新静态资产,ruby-on-rails,Ruby On Rails,在实际使用代码之前,我在本地的生产环境中运行代码。我在生产过程中注意到javascript中的一个bug,修复了它,然后返回。这个错误持续存在。不过,我在dev中试过了,bug被修复得非常好!我重新启动了服务器,重新启动了计算机,并尝试了另一个SO问题touch/tmp/restart.txt中列出的解决方案,但似乎没有任何东西能够让Rails重新加载资产 config.serve_static_assets = false 我可以说这不是浏览器的问题,因为在修复了bug之后,我将网页加载到了
config.serve_static_assets = false
我可以说这不是浏览器的问题,因为在修复了bug之后,我将网页加载到了一个以前从未见过生产环境的浏览器中,它表现出了相同的行为
以下是我的生产配置:
Rails.application.configure do
config.cache_classes = true
config.eager_load = true
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.serve_static_assets = true
config.assets.js_compressor = :uglifier
config.assets.compile = false.
config.assets.digest = true
config.assets.version = '1.0'
config.log_level = :info
config.i18n.fallbacks = true
config.active_support.deprecation = :notify
config.log_formatter = ::Logger::Formatter.new
end
如何让rails重新加载静态资产?尝试运行:
rake assets:clean
这些资产可能是在某一点上预编译的,现在服务器将始终使用这些预编译的资产(如果它们存在的话)。您还可以手动删除/app root/public/assets文件夹以获得相同效果。要重新生成资产,请运行此命令
bundle exec rake assets:precompile RAILS_ENV=production
我建议在production.rb中将此设置为false,这样apache/nginx将为这些资产提供服务
config.serve_static_assets = false
谢谢成功了。我在windows上运行,由于某些原因,当该命令设置为false时,根本不提供资产。不过,我最终计划将它转移到linux上,所以我会记住这一点。