Auch wenn Rails.application.config.trackable_models
ein vollständiges Array zurückgibt, gibt defined?(Rails.application.config.trackable_models)
null zurück.Wie überprüfe ich, ob eine Rails.application.config-Variable definiert ist?
Rails.application.config.trackable_models # => ["NewsItem", "ContentPage", "Event"]
defined?(Rails.application.config.trackable_models): # => nil
eine lokale Variable in der gleichen Art und Weise einstellen ist in Ordnung:
foo = ["x"]
defined?(foo) # => local-variable
Was ist der richtige Weg für die Existenz einer Konfigurationsvariable zu überprüfen ist, wenn nicht „definiert?“?
Danke @steel ... 'respond_to?' Funktioniert perfekt. Der Rest ist nützlich, wenn man annimmt, dass trackable_models definiert ist, sonst führt jeder Aufruf von 'Rails.applications.config.trackable_models' zu" undefined Methode 'trackable_models' " –