Rails 3 - 如何在haml partial中使用特定于环境的配置

时间:2012-04-13 10:30:01

标签: ruby-on-rails-3 haml

answer on How to define custom configuration variables in rails之后,我正在尝试为config/environments/{env}.rb

中的不同环境设置配置设置

e.g。在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>

即使定义了配置,它似乎总是评估为假。

对于rails / ruby​​来说还是非常新的,如果这是一个非常愚蠢的问题,请道歉

1 个答案:

答案 0 :(得分:3)

您可以使用respond_to?

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