Rails - лучший способ отображения кода только в производстве? - PullRequest
27 голосов
/ 08 января 2011

У меня есть несколько фрагментов кода, которые я хотел бы отобразить только в рабочей среде, например, показ комментариев disqus.Каков наилучший способ сделать это?В настоящее время у меня есть:

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

Но я не уверен, что это лучший метод, или это так?Кажется довольно многословным, и мне нужно это в нескольких местах приложения.

Ответы [ 2 ]

46 голосов
/ 08 января 2011

Эффективная проверка:

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

Нет необходимости указывать ее как константу в вашем environment.rb или инициализаторе.Просто сделайте ваш код простым и используйте Rails.env.production?в вашей основной кодовой базе я говорю.

40 голосов
/ 08 января 2011

Я бы предложил написать вспомогательный метод в вашем application_helper.rb файле:

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

Тогда, на ваш взгляд, он становится действительно простым:

<%= render_disqus %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...