Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何将参数传递给config.yml对象_Ruby On Rails_Ruby_Cucumber - Fatal编程技术网

Ruby on rails 如何将参数传递给config.yml对象

Ruby on rails 如何将参数传递给config.yml对象,ruby-on-rails,ruby,cucumber,Ruby On Rails,Ruby,Cucumber,我有config.yml,其中包含 dev: url: http://dev.com host: dev.com port: 1234 stage: url: http:// abc.stage.xyz.com host: stage.com port: 4567 prod: url: http://nnn.prod.com host: prod.com port: 5698 在功能文件中,我将场景写为 scenario1:

我有config.yml,其中包含

dev:
    url: http://dev.com 
    host: dev.com
    port: 1234
stage:
    url: http:// abc.stage.xyz.com
    host: stage.com
    port: 4567
prod:
   url: http://nnn.prod.com
   host: prod.com
   port: 5698
在功能文件中,我将场景写为

scenario1: navigate to dev url
Given I navigate to the dev url

scenario2: navigate to stage_url
Given I navigate to the stage url

scenario3: navigate to prod_url
Given I navigate to the prod url
在步骤定义中

Then /^I navigate to the (.*) url$/ do |type|
env_config = $config.<type>.to_hash

#example
#env_config = $config.dev.to_hash
#env_config = $config.stage.to_hash

@browser.go_to(env_config['url'])
end

问题:-如何以我在示例中提到的相同格式将该类型映射到$config。如果$config['dev_url']返回,它的工作方式与env_config=$config[type]

不同http://dev.com,您可以使用@browser.go_到$config[url_type],实际上我使用的是as FigNewton.yml_目录='config'FigNewton.load'config.yml'$config=FigNewton。同样在config.yml中,我们有类似dev:dev_url:dev_host:dev_port:,stage:stage_url:stage_port:等的结构。因此,如果我们在步骤定义中将type传递为dev,我们会像dev_config=$config..to_散列一样进行操作,以获取与dev相关的所有内容。dev_config['dev_host']、dev_config['dev_port']等。它不像$config[type]那样可以提取与dev相关的值。那么我们有什么方法可以传递该类型吗?您可以编辑您的问题并添加这些详细信息吗?我已经这样做了。您现在可以查看一下。如果需要更多信息,请告诉我。
FigNewton.yml_directory = 'config'
FigNewton.load('config.yml')
$config = FigNewton