2011-09-04 8 views
1

이것은 매우 간단한 문제 일 수 있지만 내 검색에서 해결책을 찾지 못했습니다. 내가 예를 들어 내가에서 폴더가 내 레일 응용 프로그램 디렉토리 외부에있는 폴더에있는 파일에 액세스하려면 :레일즈 앱 외부에서 같은 서버에있는 디렉토리에 액세스 할 때의 문제

/미디어/파일/

내 레일 응용 프로그램은 디렉토리에

/미디어/rails_app/응용 프로그램

하지만 파일 디렉토리에서 응용 프로그램 내 레일에 파일을로드하고 싶습니다. 나는 파일에 링크 역 따옴표

../../Files/image.jpg

직접 같은 몇 가지를 시도했지만이 일을하지 않았다. 보안 문제로 인해 이것이 가능하거나 불가능합니까? 파일이 동일한 서버에 있으므로 왜 이것이 문제가 될지 모르겠지만 작동시킬 수있는 방법을 보지 못했습니다. 나는/public/images의 실제 응용 프로그램에 이러한 파일을 모두 포함하지 않아도됩니다. 어떤 제안?

답변

2

아마도 레일스 프로세스가 해당 파일에 대한 액세스 권한이없는 사용자로 실행됩니까? 레일에 경로를 지정해야 할 때마다 항상 Rails.root를 사용하여 실제 절대 경로를 얻은 다음 그 경로에서 작업합니다.

절대 경로를 지정 레일 DIR

IO.read('/tmp/foo.txt') 
=> "adf\n" 

외부 읽어 작동하는 것으로 보인다

ree-1.8.7-2010.02 :002 > File.join(Rails.root, '..', 'bar', 'foo.img') 
관련 문제