2011-01-08 19 views
26

Mam kilka kawałków kodu, które chciałbym wyświetlić tylko w produkcji, na przykład pokazywanie komentarzy disqus. Jaki jest najlepszy sposób na zrobienie tego? Obecnie mam:Szyny - najlepszy sposób wyświetlania kodu tylko w produkcji?

<% if RAILS_ENV.eql?('production') %> 
    disqus code here 
<% end %> 

Ale nie jestem pewien, czy to najlepsza metoda, czy też to? Wydaje się dość gadatliwy i potrzebowałbym tego w kilku różnych miejscach w aplikacji.

Odpowiedz

39

sugeruję napisanie metody pomocnika w pliku application_helper.rb:

def render_disqus 
    return '' unless Rails.env.production? 
    #render disqus stuff here... 
end 

Następnie w widoku robi się naprawdę prosta:

<%= render_disqus %> 
+0

Plagiator! :) ale nieważne! –

+2

'if not' może zostać zmienione na' unless ' – Besi

45

Skuteczna kontrola jest

<% if Rails.env.production? %> 
    disqus code here 
<% end %> 

Nie ma potrzeby umieszczania go jako stałej w środowisku. Rb lub inicjalizatorze. Po prostu zachowaj prosty kod i użyj Rails.env.production? w twojej głównej bazie kodu mówię.

Powiązane problemy