2010-04-08 2 views
2

레일즈 애플리케이션에서 사용하는 특수 디렉토리의 경로를 저장하고 싶습니다. environment.rb에 저장해야합니까? 아니면 다른 곳으로 가야합니까?Rails 프로젝트의 상수를 environment.rb에 넣어야합니까?

THE_DIRECTORY_PATH = '/path/to/directory' 

내 컨트롤러 + 모델 또는 라이브러리의/lib에 액세스해야한다고 가정 해 봅시다.

답변

1

환경 별 설정을 허용하는 강력한 YAML 파일 접근 방식을 사용하십시오. app_config을 시도해보십시오. 여기에는 AppConfig.the_directory_path과 같은 구문을 포함하여 많은 유용한 기능이 있습니다.

+0

AppConfig가 재미있어 해 보인다. 주위에 떠 다니는 글로벌 상수가 싫어서 그런 것들을 캡슐화하는 것이 굉장 할 것입니다. –

1

컨트롤러가 액세스해야하는 경우 더 좋은 장소는 ApplicationController입니다.

+0

액세스 권한 만 필요할 수 있습니다. 이 시점에서 확실하지 않습니다. 하지만 내 컨트롤러 + 모델이나 라이브러리가/lib에 액세스 할 필요가 있다면 environment.rb가 될 것입니까? –

+0

environment.rb에 대해 뭔가 다른 환경에 대해 다른 경로가 없다면 옳다고 생각하지 않습니다. 또한이 구성 안내서의 초기화 프로그램을 살펴보십시오. http://guides.rails.info/configuring.html#using-initializers – Anurag

+0

이런 종류의 상수는 다소 싫습니다. 당신은 실제로 각 환경에서 이들을 정의해야합니다. 거의 확실하게 프로덕션 환경에서 다른 값을 원할 것입니다. –

2

이니셜 라이저에 의해로드되는 YAML 구성 파일에 저장하는 방법은 어떻습니까? This Railscast has the details.

+0

음, 나쁘지 않습니다. 나는 이것을 조사 할 것이다 ... –

관련 문제