2010-08-05 6 views
1

레일 안내선에는 경로를로드하는이 코드가 있습니다.레일에 경로로드?

$LOAD_PATH << path 
    ActiveSupport::Dependencies.load_paths << path 
    ActiveSupport::Dependencies.load_once_paths.delete(path) 

제가 처음 알았습니다. 루비가 파일을 어디에서 필요로 하는지를 아는 것입니다.

두 번째 및 세 번째 의미는 무엇을 의미합니까?

답변

2

예, 첫 번째 줄은 Ruby 자체 (및 $:)입니다. 두 번째 것은 첫 번째 것과 매우 유사하지만 ActiveSupport의 경우입니다.

load_once_paths 레일 자동 번만로부터로드되는 경로 배열. 이 배열의 모든 요소는 또한 load_paths에 있어야합니다.

load_paths로드 경로 앞에 추가 경로의 배열입니다. 기본적으로 모든 app, lib, vendor 및 mock 경로가이 목록에 포함됩니다.

따라서 새 요청마다 종속성을 다시로드해야하는 경우 load_once_paths 디렉토리에 추가하지 마십시오.

+0

나는 레일스 3 RC에서 더 이상 작동하지 않는다는 것을 알면서이 글을 읽었다. –

+0

네, 사실입니다. –

+0

그들은 레일 3 가이드를 재 작업하고 있습니다 ... 나는 그들이 새로운 변화에 따라 모든 것을 업데이트하고 있다고 생각합니다. –

0

레일즈 3.0에서 load_once_paths의 이름이 autoload_once_paths로 변경되었으며 load_paths의 이름이 autoload_once_paths로 변경되었습니다.