如何动态访问 config/applications.rb 中定义的所有以 'var' 开头的配置参数?
How can I dynamically access all config parameters starting with 'var' defined in config/applications.rb?
在我的config/applications.rb中,我设置了参数:
config.var1 = 1
config.var2 = 5
config.varx = 7
我可以使用
访问它们
Rails.application.config.var1
我正在尝试动态构建名称以 'var' 开头的所有配置参数的散列,因此输出将是
{var1: 1, var2: 5, varx: 7}
我查看了 Rails.application.config.methods、Rails.application.config.instance_variables、Rails.application.config.inspect 等,但他们没有 return var1 等
如何动态访问 config/applications.rb 中定义的所有以 'var' 开头的配置参数?
感谢您的帮助。
虽然我完全同意@SergioTulentsev 你做错了,但你仍然可以:
Rails::Railtie::Configuration.class_variable_get(:@@options)
.select { |k, _| k =~ /\Avar/ }
#⇒ {
# :var1 => 42
# }
事实上,通过 method_missing
.
提供对 class 变量的访问
在我的config/applications.rb中,我设置了参数:
config.var1 = 1
config.var2 = 5
config.varx = 7
我可以使用
访问它们Rails.application.config.var1
我正在尝试动态构建名称以 'var' 开头的所有配置参数的散列,因此输出将是
{var1: 1, var2: 5, varx: 7}
我查看了 Rails.application.config.methods、Rails.application.config.instance_variables、Rails.application.config.inspect 等,但他们没有 return var1 等
如何动态访问 config/applications.rb 中定义的所有以 'var' 开头的配置参数?
感谢您的帮助。
虽然我完全同意@SergioTulentsev 你做错了,但你仍然可以:
Rails::Railtie::Configuration.class_variable_get(:@@options)
.select { |k, _| k =~ /\Avar/ }
#⇒ {
# :var1 => 42
# }
事实上,通过 method_missing
.