2013-07-10 2 views
1

스냅의 구성 파일을 올바르게 사용하려면 어떻게해야합니까?스냅 구성 파일

현재 DB 호스트와 DB 이름을 하드 코딩하고 있습니다. projectroot/config 디렉토리 내의 파일에 넣으려면 어떻게 처리기 내에서 또는 응용 프로그램 초기화 기능 내에서 사용할 수 있습니까?

구성 자 라이브러리가 사용될 수 있지만 실제로 사용하는 방법에 대한 설명이없는 snaplets 자습서에서 간략하게 언급했습니다.

감사합니다.

답변

4

getSnapletUserConfig을 호출하면 Config을 반환합니다. 그런 다음 configurator의 기능을 사용하여 필요한 정보를 얻으십시오. 작업 예제는 snaplet-postgresql-simple's use of config files을보십시오.

구성 파일의 기본값은 현재 snaplet file path 인 devel.cfg입니다. 따라서 최상위 응용 프로그램에서 getSnapletUserConfig을 사용하는 경우 구성 파일이 프로젝트 루트에 있습니다. 그렇지 않으면 snaplets/foo에 있습니다. 여기서 "foo"는 현재있는 스냅 숏의 이름입니다.

+0

감사합니다. 그래서 나는 핸들러 안에서 사용할 수 없다. 이렇게 : conf <- getSnapletUserConfig; dh <- liftIO $ C.lookup conf "dbhost"; db <- liftIO $ C.lookup conf "dbname" –

+0

네, 모든 MonSSnaplet에서 사용할 수 있습니다. Handler와 Initializer에는 MonadSnaplet 인스턴스가 있습니다. – mightybyte