2009-05-20 3 views
1

레일즈 애플리케이션에서 파일 업로드를 처리하기 위해 attachment_fu를 사용하고 있는데이를 첨부 파일이라고하는 응용 프로그램 루트의 디렉토리에 저장하려고합니다. 그러나이 플러그인이 공용 디렉토리가 아닌 다른 디렉토리에 파일을 저장하는 것처럼 보이지는 않습니다. 아무도 이걸하는 방법을 말해 줄 수 있습니까?ruby ​​on rail에서 attachment_fu로 공용 폴더 외부에 파일 저장하기

들으

-C

답변

1

은 당신이 뭔가 라를 시도?

has_attachment :storage => :file_system, :path_prefix => 'attachments/' 
+0

예, path_prefix 옵션의 여러 조합을 시도했지만 'public /'으로 시작하지 않으면 아무 것도 작동하지 않는 것 같습니다. 여기에 내가 파일을 업로드하려고 할 때 얻을 수있는 옵션이 있습니다 : /storage/daisi/branches/development/public // storage/daisi/branches/development/attachments/0000/0007/524_IMS 같은 파일이나 디렉토리가 없습니다. yml –

+0

이상한. 난 당신이 항상 응용 프로그램 루트 수준에서 디렉토리에 공용 디렉토리에 별칭을 만들 수 있다고 가정합니다. 나는 어떤면에서는 이것이 의미가 있다고 생각합니다. 웹 서버 (무엇이든지간에)는 'public /'디렉토리에 대해서만 알고 있으므로 모든 정적 파일을 그 안에 포함해야합니다. 파일을 업로드 할 때 URL을 통해 주소 지정이 가능하려면 'public /'디렉토리에 있어야합니다. 그렇다면 파일을 업로드하고 URL을 통해 주소 지정이 불가능할 수도있는 경우가 있습니다. – Scott

+0

사실 내 질문이 플러그인 자체가 아니라는 것을 깨달았 기 때문에 지금 당장이 질문을하는 것이 바보 같다고 느껴집니다.하지만 파일 클래스의 다른 코드는 공개 디렉토리가 파일 데이터를 읽는 메소드에서 하드 코딩되었습니다. (이들은 모두 .yml 파일입니다). 따라서 솔루션이 실제로 정확합니다. –

관련 문제