2011-09-07 20 views
11

Cambié mi servidor a producción y no puedo cargar ninguna de mis imágenes. Todo funciona bien en el modo de desarrollo, pero cuando cambié a producción, todo dejó de funcionar. He habilitado server_static_assets y todavía nada funciona. Cualquier ayuda a hacer estoImágenes y recursos que no funcionan en mi servidor de producción en rieles 3.1.0

+0

incluso image_tag no está funcionando – Uchenna

+0

puedo ver esto en mi servidor de registro 'cache: [GET /assets/icon_thumb.png] rancio, válida, store' – Uchenna

Respuesta

25

Aquí están algunos problemas que podría estar teniendo:

1 - Su configuración de producción puede no ser correcta. Esto es particularmente probable si comenzó con un candidato de versión 3.1 y se ha estado actualizando en el camino. Las opciones sugeridas para production.rb cambiaron bastante entre rc4 y la versión 3.1.0.

Asegúrese de que la configuración de production.rb incluyen:

# Disable Rails's static asset server (Apache or nginx will already do this) 
config.serve_static_assets = false 
# 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 

2 - Es posible que haya olvidado precompilar sus activos

RAILS_ENV=production rake assets:precompile 

3 - Es posible que haya olvidado de reiniciar el servidor web para recoger los cambios en production.rb.

+0

yea gracias también tuve que correr rake rails: actualización para obtener todo hasta – Uchenna

1

Recuerde ejecutar rake assets:precompile en su entorno de producción.

Si es necesario la implementación con Capistrano, puede utilizar esta receta:

before "deploy:symlink", "assets:precompile" 

namespace :assets do 
    desc "Compile assets" 
    task :precompile, :roles => :app do 
    run "cd #{release_path} && rake RAILS_ENV=#{rails_env} assets:precompile" 
    end 
end 
+2

También puede agregar 'load' deploy/assets 'a su deploy.rb – astjohn

+0

sí, probablemente tenga razón @astjohn :) –

1

Si va a actualizar a Rails 4 o actualmente lo está utilizando en la producción, y cargar imágenes de CSS, entonces:

en lugar de

background-image: url('some_image.jpg'); 

hacer

background-image: image-url('some_image.jpg'); 

Ver http://guides.rubyonrails.org/asset_pipeline.html#css-and-sass para referencia

+1

Esto no es realista cuando se usan las bibliotecas js. – Donato

Cuestiones relacionadas