2012-04-13 2 views
1

После answer on How to define custom configuration variables in rails, я пытаюсь настроить параметры конфигурации для различных сред в config/environments/{env}.rbRails 3 - как использовать конфигурацию среды конкретного в Haml частичной

например в development.rb я поставил

config.elvis = 'alive'

, а затем в моем шаблоне Haml я могу использовать эту переменную, например,

Elvis is #{Rails.configuration.elvis}.

Однако, когда я хочу, чтобы обернуть это в состоянии:

- if Rails.configuration.elvis 
    <p>Elvis is #{Rails.configuration.elvis}</p> 

он также работает, но если конфигурация не установлен, то он выдает ошибку undefined method.

Если я пытаюсь вместо:

- if defined? Rails.configuration.elvis 
    <p>Elvis is #{Rails.configuration.elvis}</p> 

, кажется, всегда оценивать как ложное, даже при заданной конфигурации.

Еще очень новый рельсы/рубин, так извинениями, если это очень глупый вопрос

ответ

3

Вы можете использовать respond_to?:

- if Rails.configuration.respond_to?(:elvis) 
    <p>Elvis is #{Rails.configuration.elvis}</p> 
+0

Спасибо за супер-быстрый ответ! Работал как шарм (будет отмечен как ответ через 7 минут или около того, когда мне позволено ...) – gingerlime