在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来说还是非常新的,如果这是一个非常愚蠢的问题,请道歉
答案 0 :(得分:3)
您可以使用respond_to?
:
- if Rails.configuration.respond_to?(:elvis)
<p>Elvis is #{Rails.configuration.elvis}</p>