如何将字符串附加到配置变量

时间:2016-11-29 06:12:06

标签: ruby-on-rails-5

我在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

建议我从字符串或散列或任何其他数据结构中获取配置值的任何技术。

提前谢谢, 苏雷什

1 个答案:

答案 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()

希望这是有帮助的