即使Rails.application.config.trackable_models返回完整数组,也defined?(Rails.application.config.trackable_models)返回nil。
Rails.application.config.trackable_models # => ["NewsItem", "ContentPage", "Event"]
defined?(Rails.application.config.trackable_models): # => nil
Run Code Online (Sandbox Code Playgroud)
以相同的方式设置局部变量就可以了:
foo = ["x"]
defined?(foo) # => local-variable
Run Code Online (Sandbox Code Playgroud)
如果未“定义”,检查配置变量是否存在的正确方法是什么?