2012-11-06 4 views
1

필자는 레일스 코드를 1.8.7과 1.9와 호환되도록 쓰고 있습니다. 몇 가지 다른 파일에서 좀 CSV 구문 분석을 수행 그래서 나는 현재 다음 각 파일에 줄 필요가 있습니다Rails에 복잡한 require 문을 넣을 위치는 어디입니까?

if RUBY_VERSION < "1.9" 
    require "rubygems" 
    require "fastercsv" 
    CSV = FCSV 
else 
    require "csv" 
end 

는 모든 중복을 피하기 위해하지만,이 블록은 아마 한 곳에서 살아야한다. 그것을 넣을 수있는 가장 좋은 곳은 어디입니까? application.rb은 적절한 장소입니까?

답변

2

이니셜 라이저 config/initializers/csv.rb에 넣었습니다. 이것은 레일에 자동으로로드되며로드 경로에 섞이지 않습니다. 따라서 파일 이름에 대해 신경 쓸 필요가 없습니다.

일부 로딩 메커니즘은 "필요"하지 않고 로더 컨텍스트에서 파일을 실행하기 때문에 예외가 발생하면 일반적인 방법으로 처리 할 수 ​​없습니다.

관련 문제