2011-10-13 2 views
0

항상 개발 중에 다시로드되고 프로덕션 환경에로드 된 파일을 사용하려고합니다.어디서 config.to_prepare를 Rails 3.1 앱에 설치해야합니까?

나는

config.to_prepare do 
    require File.expand_path('config/configatron.rb') 
end 

이 dev에 내 configatron 설정으로 다시로드 할 수 있습니다 사용하는 것을 시도하고있다. 그러나 그것은 작동하지 않습니다. 이는 페이지 새로 고침시 다시로드되지 않고 한 번만로드된다는 것을 의미합니다. 문서에 따르면 그렇게해야합니다. 바로 지금 내 신청서에 있습니다 .rb - 그 곳이 맞습니까? 그렇다면 누구든지 내가 뭘 잘못하고있는 걸까요?

고맙습니다.

답변

2

to_prepare 블록을 이니셜 라이저에 넣습니다.

코드에 문제가 있습니다. http://ruby-doc.org/core-1.9.3/Kernel.html#method-i-require

로드 된 파일의 절대 경로가 $ LOADED_FEATURES ($ "). 그 경로가 이미 $ 나타나는 경우 파일을 다시로드되지 않습니다"에 추가됩니다 에서

문서를 필요로한다. 예를 들어, 'a'를 요구하십시오; './a'는 a.rb를 다시로드하지 않습니다. 당신의 블록이 가 다시 configuration.rb 파일을로드 할 수 없습니다 필요 다시 각 환경에 전에 호출해도

. 대신 당신은 내가 루비 1.9.2 사용하고 require_dependencyHow are require, require_dependency and constants reloading related in Rails?

+0

를 사용하여 코드를 다시 시도 할 수to_prepare를 사용

는 P 180은 해당 버전의 성립 하는가? – konung