2016-12-05 88 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