Question

Je changé mon serveur à la production et je ne peux pas obtenir de mes images à la charge. Tout fonctionne très bien sur le mode de développement, mais quand je suis passé à la production tout arrêté i travailler ont permis server_static_assets et encore encore rien ne fonctionne. Toute aide à le faire

Était-ce utile?

La solution

Voici quelques problèmes que vous pourriez avoir:

1 - La configuration de votre production ne peut pas être correcte. Ceci est particulièrement probable si vous avez commencé avec un début de candidat 3.1 de libération, et ont été mise à jour le long du chemin. Les options proposées pour production.rb un peu changé entre RC4 et la libération 3.1.0.

Assurez-vous que vos paramètres de production.rb comprennent:

# 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 - Vous avez peut-être oublié de précompiler vos actifs

RAILS_ENV=production rake assets:precompile

3 -. Vous avez sans doute oublié de redémarrer votre serveur Web pour ramasser les changements dans production.rb

Autres conseils

Rappelez-vous d'exécuter rake assets:precompile dans votre environnement de production.

Si vous avez besoin déployez avec Capistrano , vous pouvez utiliser cette recette:

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

Si vous mettez à niveau Rails 4 ou utilisez actuellement sur la production, et sont des images de chargement de css, puis:

au lieu de

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

faire

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

Voir http://guides.rubyonrails.org/asset_pipeline.html#css -et-SASS pour référence

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top