2011-01-08 3 views
26

J'ai quelques morceaux de code que je voudrais afficher uniquement en production, par exemple, l'affichage des commentaires disqus. Quelle est la meilleure façon de faire cela? Actuellement, j'ai:Rails - le meilleur moyen d'afficher le code uniquement en production?

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

Mais je ne suis pas sûr si c'est la meilleure méthode, ou est-ce? Semble assez verbeux et j'aurais besoin de cela dans quelques endroits différents dans l'application.

Répondre

39

Je vous suggère d'écrire une méthode d'assistance dans votre fichier application_helper.rb:

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

Alors, à votre avis, il devient vraiment simple:

<%= render_disqus %> 
+0

Plagiat! :) mais ça ne fait rien! –

+2

«si non» pourrait être remplacé par «sauf» – Besi

45

Le contrôle efficace est

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

Il n'est pas nécessaire de le mettre comme une constante dans votre environnement.rb ou un initialiseur. Gardez votre code simple et utilisez Rails.env.production? dans votre base de code principal, je dis.

Questions connexes