1

How to define custom configuration variables in rails に関する回答に続いて、さまざまな環境の構成設定を設定しようとしていますconfig/environments/{env}.rb

たとえば、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>

構成が定義されていても、常に false として評価されるようです。

rails/ruby はまだ初心者なので、的外れな質問でしたら申し訳ありません。

4

1 に答える 1

3

あなたが使用することができますrespond_to?

- if Rails.configuration.respond_to?(:elvis)
  <p>Elvis is #{Rails.configuration.elvis}</p>
于 2012-04-13T10:35:29.600 に答える