Ich habe ein Fragment von JavaScript, das ich zu einer Seite hinzufügen möchte, aber nur in der Produktionsumgebung. Verfügt Rails über eine Möglichkeit, bei der Bereitstellung einzufügen oder bedingt einzuschließen. Ich weiß, ich könnte "wenn Rails.env.production?" Aber ich möchte diese Bedingung nicht jedes Mal überprüfen, wenn die Seite geladen wird.modifizieren erb-Datei bei der Bereitstellung
5
A
Antwort
1
Was ich in dieser Situation tun, ist in jeder Umgebung der Konfigurationsdatei eine Konstante erstellen:
#config/environments/development.rb
SNIPPET = ""
#config/environments/production.rb
SNIPPET = "<script src='whatever.js'></script>"
#app/views/file.html.erb
<%= SNIPPET %>
5
Ich würde nicht über den Overhead einer if
Erklärung besorgt sein.
Warum nicht ein eigenes Hilfsmethode verwenden:
def snippet
if RAILS_ENV == "production"
javascript_tag "whatever"
elsif . . .
end
dann können Sie die gleiche Syntax verwenden:
<%= snippet %>
und Sie bekommen ein paar Vorteile:
- Zugang zu anderen Schienen Helfer
- Ihre Konfigurationsdatei wird nicht mit Raw html
Verwandte Themen
- 1. Fehler bei der Bereitstellung tomcat
- 2. JavaFX Probleme bei der Bereitstellung
- 3. Probleme bei der Bereitstellung einer Webanwendung
- 4. Bereitstellung bei Amazon EC2
- 5. Eingebetteter Webserver - mögliche Probleme bei der Bereitstellung
- 6. ASP.net CS1061 Compilation Fehler bei der Bereitstellung
- 7. Was bedeutet "Release" -Konfiguration bei der Bereitstellung?
- 8. Filtern ASP.NET-Webanwendung Dateien bei der Bereitstellung
- 9. Log4Net protokolliert nicht bei der Bereitstellung
- 10. Capistrano: ExecJS Fehler bei der Bereitstellung
- 11. Tomcat-Java-Datei bei der Bereitstellung
- 12. Bei der Bereitstellung Jasper Reports Fehlermeldung
- 13. Wildfly DefaultJMSConnectionFactory fehlt bei der WAR-Bereitstellung
- 14. Probleme bei der Bereitstellung für Heroku
- 15. Amazon Beanstalk-Fehler bei der Bereitstellung
- 16. Probleme bei der Bereitstellung .WAR to tomcat
- 17. Fehler beim Heroku bei der Bereitstellung von
- 18. mqjbnd05 Fehler bei der Bereitstellung der App auf der Websphere
- 19. Zeitüberschreitung der Verbindung bei der Bereitstellung der EAR-Datei
- 20. Mathematica, Liste der Übergänge modifizieren
- 21. einige Dateien nicht bei der Bereitstellung der Website zu azurblauen
- 22. Fehler bei der erneuten Bereitstellung der VM-Skalierung mit ARM
- 23. Fehler bei der Bereitstellung: Ausnahme während der App geladen:
- 24. URL-Problem bei der Bereitstellung der WAR-Datei in Tomcat
- 25. Richten Sie eine Capistrano-Aufgabe so ein, dass sie nur bei der Bereitstellung ausgeführt wird, nicht bei der Bereitstellung: kalt
- 26. Fehler bei der Mgo-Abhängigkeit bei der Bereitstellung der App nach Heroku
- 27. Xcode modifizieren aktuelle Coredata Modellversion bei jedem Start
- 28. Problem bei der Bereitstellung von RailsTutorial Kap 11 auf Heroku
- 29. Kombinieren von Javascript-Dateien bei der Bereitstellung in Python
- 30. TemplateDoesNotExist at/base/index.html bei der Bereitstellung in Heroku
Ich mag nicht die Idee, View-Code in die Konfigurationsdateien zu setzen. Dies ist, was Sichthelfer sind. –
Sicher, das ist fair. Wirklich, was ich versuche zu vermitteln, ist: mach keine bedingte Logik basierend auf RAILS_ENV in Ansichten. Das ist, was die Umgebungskonfigurationsdateien sind :-) – Ben