Estoy tratando de asegurarme de que estoy sirviendo archivos comprimidos css y js utilizando la canalización de recursos de Rails. Lo preparé todo bien y las cosas se precompilaron felizmente, y también me sincronicé felizmente con S3, donde las estoy sirviendo con CloudFront CDN de Amazon.Manifest.yml no se está actualizando con activos: precompilación - Rails 3.2.6
estoy sirviendo el application.css y application.js así:
= stylesheet_link_tag "application"
= javascript_include_tag "application"
El problema, en pocas palabras: Los archivos MD5-sufijo no se emiten en el diseño de la aplicación - sólo el raw application.css y application.js
Esto se pone un poco extraño: todas las imágenes tienen una estampilla MD5. Los archivos CSS/JS no.
Aquí es mi production.config:
config.action_controller.perform_caching = true
# Specifies the header that your server uses for sending files
config.action_dispatch.x_sendfile_header = "X-Sendfile"
config.assets.compress = true
# Fallback to compile on demand
# config.assets.compile = true
#config.assets.precompile += %w(application.css application.js)
# Generate digests for assets URLs
config.assets.digest = true
#push the assets to amazon
config.action_controller.asset_host = Proc.new { |source, request|
if request.ssl?
"https://tekpub-assets.s3.amazonaws.com"
else
"http://tekpub-assets.s3.amazonaws.com"
end
}
config.serve_static_assets = false
Lo exasperante de todo este proceso es que puedo ver el gzip/archivos digiere - si estuvieran allí en mi directorio activos. Todos em: los archivos CSS y JS también.
Sin embargo mi archivo manifest.yml sólo se actualiza de este modo:
---
application.js: application.js
application.css: application.css
no hay errores de compilación previa cuando corro - de hecho, todo parece bastante color de rosa:
** Invoke assets:precompile:all (first_time)
** Execute assets:precompile:all
** Invoke assets:precompile:primary (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
Resolved collector.newrelic.com to 204.93.223.153
AssetSync: using /Volumes/Fatty/Sites/tpub6/config/initializers/asset_sync.rb
** Invoke tmp:cache:clear (first_time)
** Execute tmp:cache:clear
** Execute assets:precompile:primary
** Invoke assets:precompile:nondigest (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
Resolved collector.newrelic.com to 204.93.223.153
AssetSync: using /Volumes/Fatty/Sites/tpub6/config/initializers/asset_sync.rb
** Invoke tmp:cache:clear (first_time)
** Execute tmp:cache:clear
** Execute assets:precompile:nondigest
AssetSync: Syncing.
Using: Directory Search of /Volumes/Fatty/Sites/tpub6/public/assets
AssetSync: Done.
Gracias por cualquier punteros/empujones/consejos.
Como este problema se debía a la gema 'twitter-bootstrap-rails', actualizando la gema del repositorio git con' gem 'twitter-bootstrap-rails',: git => 'git: // github. com/seyhunak/twitter-bootstrap-rails.git'' resolvió este problema para mí. – joseph