我在config/application.rb
文件中有配置变量,如下所示,
config.user1= 'http://localhost:3001/user1'
config.user2= 'http://localhost:3002/user2'
config.user3= 'http://localhost:3003/user1'
config.user4= 'http://localhost:3004/user2'
我想动态获取配置变量,如下所示,
a='.user1'
def config_d(a)
@b='Rails.configuration'+@a
puts @b #out put should be value of configuration variables 'http://localhost:3001/user1'
end
我必须将a
动态传递给方法config_d(user1)
,例如
config(user1)
应该返回http://localhost:3001/user1
config(user2)
应该返回http://localhost:3002/user2
建议我从字符串或散列或任何其他数据结构中获取配置值的任何技术。
提前谢谢, 苏雷什答案 0 :(得分:0)
我知道您希望获得@a
的绝对值。为此目的,rails中几乎没有可用的方法,例如eval()
请尝试以下操作:
def config_d(a)
@b=Rails.configuration.eval(a)
puts @b
end
以下几个其他方法也起到同样的作用:
1.eval()
2.instance_eval()
3.send()
4.public_send()
5.method()
希望这是有帮助的