Ho un frammento di JavaScript che desidero aggiungere a una pagina, ma solo nell'ambiente di produzione. Le rotaie hanno un modo per inserire o includere condizionalmente sulla distribuzione. So che potrei fare "se Rails.env.production?" Ma preferirei non controllare questa condizione ogni volta che viene caricata la pagina.modifica file ERB sull'implementazione
5
A
risposta
1
Quello che faccio in questa situazione è creare una costante nel file di configurazione di ogni ambiente:
#config/environments/development.rb
SNIPPET = ""
#config/environments/production.rb
SNIPPET = "<script src='whatever.js'></script>"
#app/views/file.html.erb
<%= SNIPPET %>
5
non sarei preoccupato per il sovraccarico di uno if
dichiarazione.
Perché non utilizzare un metodo di supporto personalizzato:
def snippet
if RAILS_ENV == "production"
javascript_tag "whatever"
elsif . . .
end
quindi è possibile utilizzare la stessa sintassi:
<%= snippet %>
e si ottiene un paio di vantaggi:
- accesso ad altre rotaie aiutanti
- il file di configurazione non sarà cosparso di html grezzo
Problemi correlati
- 1. Incluso un file ERB in un altro
- 2. Abbellisci i file ERB nei binari3
- 3. Come posso sfuggire alla tag ERB in ERB
- 4. Tag "erb" rubino incorporato
- 5. come utilizzare erb per file di output dopo vincolante
- 6. Come eseguire il rendering di una stringa come file erb?
- 7. come caricare un file JavaScript alle rotaie html Erb
- 8. Come trovo il percorso di un file modello usando ERB?
- 9. Gestione rotaie .Erb con Nils
- 10. Erb con Sinatra in rubino
- 11. Come generare viste Haml invece di erb
- 12. Modifica file da file docker
- 13. Rails ERB <%- ... -%> vs. <% ... %>
- 14. Conversione da SLIM a HAML o ERB
- 15. Completamento automatico per ERB in Sublime
- 16. Modifica file elf
- 17. modifica codifica file
- 18. modifica dei file .smali
- 19. Symfony2: modifica caricamento file
- 20. Modifica file atomico
- 21. Come si commenta ERB in Rails?
- 22. if, elsif, else statements html erb beginner
- 23. Chiama Sinatra erb da un'altra classe
- 24. Sostituzione ERB con errore HAML in JS
- 25. Come si commenta un modello erb?
- 26. Modello ERB di rendering in modello RABL
- 27. Modifica file .resx in C#
- 28. Modifica estensione file in SharePoint
- 29. Modifica file jar con python
- 30. Modifica manuale del file * .designer.cs
Non mi piace l'idea di inserire il codice di visualizzazione nei file di configurazione. Questo è ciò che gli helper della vista sono FOR. –
Certo, è giusto. In realtà quello che sto cercando di comunicare è: non fare la logica condizionale basata su RAILS_ENV nelle viste. Questo è ciò che i file di configurazione dell'ambiente sono FOR :-) – Ben