2013-09-05 3 views
1

에서 파일 이름을 이름을 변경하는 방법. 이 같은 새로운 id 후 저장된 파일의 이름을 수 있어요 : 이것은 그들이 올바른 이름 + 원래의 확장자로, 적절한 장소에 저장 얻을됩니다레일 4 + 종이 클립 : 내 모델 중 하나에 부착 된 비디오 파일을 추가 레일 4 종이 클립을 사용하고 데이터베이스

has_attached_file :file, :url=>"/tmp/video_uploads/:id.:extension", :path=>":rails_root/tmp/video_uploads/:id.:extension" 

. (: scooby-dooby-doo.MOV EX) 나는 데이터베이스에서 볼 때, 새로운 레코드에 대한 file_file_name 필드는 원래 파일 이름은 아직도있다. 이 문제를 어떻게 해결할 수 있습니까?

object.file_file_name = 'something_else' 
object.save 

원래의 파일 업로드 이름을 유지할 수있을 것 같다 :

답변

0

은 내가 아는 한, 그냥 속성입니다. 그 값을 변경해도 실제로 아무 것도하지 않습니다.

편집 : 관련 파일을 쉽게 찾을 수 있다고 말하면 file.url 또는 .path 방법이 있습니까?

object.file.path 
object.file.url 

github에서 the attachment object을 확인하십시오.

그걸 보면, file_file_name의 값을 다시 지정하면 더 이상 정확하지 않을 것이라고 file.original_filename이 "깨질"것입니다. 실제로 저장된 파일의 파일 부분 만 원하면 다음 줄을 따라 뭔가를 시도해보십시오.

class MyModel < ActiveRecord::Base 

    has_attached_file :file 

    def actual_filename 
    File.basename(file.url) 
    end 

end 
+0

예. 단지 속성 일 뿐이지 만 파일을 저장할 때 동적으로이 작업을 수행해야하며 저장시 ID 또는 비디오 속성에 액세스하는 방법을 모르겠습니다. 이것이 내가 알아 내려고하는 것입니다. – emersonthis

+0

수정 사항을 읽으십시오. 레코드에 해당하는 파일을 쉽게 찾을 수 있도록 노력하고 있습니다. 원본 파일 이름으로 파일을 저장할 수 없으므로 레코드와 파일 이름이 일치하지 않습니다. – emersonthis

+0

몇 가지 추가 정보가 도움이 될 수 있습니다 ... –

관련 문제