Bilder und Vermögenswerte funktionieren nicht auf meinem Produktionsserver auf Rails 3.1.0
-
27-10-2019 - |
Frage
Ich habe meinen Server auf Produktion umgestellt und kann keines meiner Bilder laden lassen. Im Entwicklungsmodus funktioniert alles einwandfrei, aber als ich zur Produktion wechselte, hat alles nicht mehr funktioniert, ich habe Server_Static_assets aktiviert, und dennoch funktioniert noch nichts. Jede Hilfe dazu
Lösung
Hier sind einige Probleme, die Sie möglicherweise haben:
1 - Ihre Produktionskonfiguration ist möglicherweise nicht korrekt. Dies ist besonders wahrscheinlich, wenn Sie mit einem frühen Release -Kandidaten von 3.1 angefangen haben und auf dem Weg aktualisiert haben. Die vorgeschlagenen Optionen für die Produktion.RB haben sich zwischen RC4 und 3.1.0 verändert.
Stellen Sie sicher, dass Ihre Einstellungen für die Produktion.RB enthalten sind:
# 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 - Möglicherweise haben Sie vergessen, Ihre Vermögenswerte vorzubereiten
RAILS_ENV=production rake assets:precompile
3 - Möglicherweise haben Sie vergessen, Ihren Webserver neu zu starten, um die Änderungen in der Produktion zu erfassen.
Andere Tipps
Denken Sie daran, zu rennen rake assets:precompile
in Ihrer Produktionsumgebung.
Wenn Sie benötigen, werden mit dem Einsatz mit Capistrano, Sie können dieses Rezept verwenden:
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
Wenn Sie auf Rails 4 aktualisieren oder derzeit bei der Produktion verwenden und Bilder von CSS laden, dann: dann:
Anstatt von
background-image: url('some_image.jpg');
tun
background-image: image-url('some_image.jpg');
Sehen http://guides.rubyonrails.org/asset_pipeline.html#css-and-sass als Referenz