2016-12-05 7 views
0

나는대로 오이 내 env.rb 파일에 상수를 정의하고있다.페이지 객체 (siteprism) 루비 클래스에서 오이 env.rb의 오이에 CONSTANT를 액세스하는 방법?</p> <pre><code>CONFIG = YAML::load_file("#{File.dirname(__FILE__)}/../../configs/config.yaml") </code></pre> <p>가 그럼 난 <code>CONFIG['url']</code>처럼, 그 'config.yaml'파일에서 값에 액세스하려면 :

내가 갖고있는 문제는 페이지 개체 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에 특정한 것이라고 생각합니다. 그 보석에는'set_url'이라는 메서드가 있습니다. 그래서 거기에 CONFIG를 사용하려고하면 작동하지 않고 위의 오류로 실패합니다. 그러나 해당 클래스에서 CONFIG를 사용하려고하지만 거기서 만든 새 메서드 안에서 제대로 작동합니다. 'set_url (new_method_to_retrieve_CONFIG)'를 사용하여이 문제를 해결하려고했지만 그 중 하나도 작동하지 않았습니다. 해결 방법이 있는지 확실하지 않습니다. 현재로서는, 설정 파일과'set_url "http : // url"command "에 'url'을 복사하고 있습니다 ... – mickael