2016-12-05 86 views
0

我在黄瓜定义常量在我env.rb文件:如何从页面对象(siteprism)ruby类访问黄瓜env.rb中的黄瓜CONSTANT?

CONFIG = YAML::load_file("#{File.dirname(__FILE__)}/../../configs/config.yaml") 

然后我想从“config.yaml”文件访问值,比如CONFIG['url']

我遇到的问题是我有一个页面对象siteprism类,我不知道如何访问它?

class MyPage < SitePrism::Page 
    set_url CONFIG['url'] 
... 

它与失败:

uninitialized constant MyPage::CONFIG (NameError) 

我要访问我env.rb文件中被定义,虽然,不是从我的页面恒定不变CONFIG。你们知道我能做到吗?

回答

0

使用::,如。

请注意,假设您有"YAML::load_file("对于CONFIG,此表达式的值将是nil

+0

对不起,报价是一个错字。编辑。 当我在MyPage类中尝试:: CONFIG ['url']时: '未初始化的常量CONFIG 您的意思是? RbConfig(NameError)' – mickael

+0

是否加载了env.rb文件? – sawa

+0

我认为这个问题是SitePrism特有的,虽然我不确定是什么。该gem有一个名为'set_url'的方法,所以如果我尝试使用CONFIG,那么它不起作用,并且会失败,并出现上述错误。 但是,如果我尝试在该类中使用CONFIG,但在我创建的新方法内部工作正常。我试图通过使用'set_url(new_method_to_retrieve_CONFIG)'来解决这个问题,但那也不起作用。不知道是否有任何解决方法。现在,我只是在我的配置文件和'set_url“http:// url”'命令中复制'url'... – mickael