2013-05-28 7 views
0

PHP를 사용할 때 파일 조작은 서버 루트를 기준으로 이루어 지므로 mkdir("/home/website/public_html/a_directory과 같은 것이 스크립트가 실행되는 public_html 폴더의 디렉토리를 만드는 데 사용됩니다.Ruby on Rails : 서버 루트를 기준으로 한 FileUtils?

레일에서는 FileUtils 모듈을 사용하여 응용 프로그램의 공용 폴더에 폴더를 만들 수있는 FileUtils.mkdir('public/a_directory')과 같은 응용 프로그램의 경로를 기준으로합니다.

내가 직면 한 문제는 응용 프로그램에서 디렉토리를 만들고 파일을 이동하고 파일/폴더의 이름을 바꾸고 파일/폴더를 서버의 루트와 관련하여 제거 할 수 있기를 바랍니다.

이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 또는 나는 명백한 무엇인가 놓치고 있냐?

덕분에, 스테판

답변

1

당신은 FileUtil에 절대 경로를 사용할 수 있습니다

FileUtil.mkdir('/tmp/foo') 

는 서버 /tmp/ 디렉토리에있는 디렉토리 foo를 작성합니다.

Rail.root에는 레일 응용 프로그램의 루트가 들어 있습니다.

경로를 Rails.root.join('public','a_directory')과 같이 확장 할 수 있습니다.

DOCUMENT ROOT

+0

Rails.root.join('public') 어쩌면 내가 제대로 설명하지 못했다는 것을 기억하십시오. 내 애플 리케이션이'/ home/website/public_html/my_app /'에 호스트되어 있다면 레일즈 앱이'/ home/website/public_html/another_folder /'내에있는 파일/폴더를 조작 할 수 있기를 바란다. –

+0

/home/website/app'에 있고,'DOCUMENT ROOT'는'/ home/website/public'에 있습니다. 그러면'Rails.root'는'/ home/website'를 가리키며 거기에서 시작하는 경로를 만들 수 있습니다. –

+0

아, 이제 질문을 이해하고 대답을 업데이트하는 것 같아요. –