2012-01-25 1 views
3

나는 Railcast # 253 http://railscasts.com/episodes/253-carrierwave-file-uploads을 따라 잘 작동합니다. 하지만 ActiveAdmin으로 구현 했으므로 Formtastic (ActiveAdmin은 양식에 Formtastic을 사용합니다).레일 3 Carrierwave 모델의 속성 인 파일을 삭제하는 방법은 무엇입니까?

그래서 파일을 업로드하고 파일을 다운로드 할 수 있습니다.

으로 링크 할 때 Carrierwave에서 모델의 속성 대신 모델을 예상하는 것으로 보이며 링크를 제거하는 것으로 보입니다.

hbl_pdf 속성 (PDF 문서)이있는 Shipment 모델이 있습니다. 이것은 내 삭제 링크 ... 내가 오류 얻을

row("HBL") { link_to 'remove', shipment.hbl_pdf, :confirm => "Are you sure?", :method => :delete } 

... 나는 선적 만 문서를 삭제하지 않으 undefined method model_name for PdfUploader:Class

입니다.

답변

12

대신 배송 물품에 remove_hbl_pdf! 번으로 전화하지 않으시겠습니까? https://github.com/jnicklas/carrierwave#readme

link_to 'remove', remove_shipment_pdf_path(shipment), :confirm => "Are you sure?", :method => :delete 

을하고 제거 명령의 구문은 당신의 속성의 이름을 기반으로

def remove_shipment_pdf 
    shipment = Shipment.find_by_id(params[:shipment_id]) 
    shipment.remove_hbl_pdf! if shipment 
    # respond with something or redirect 
end 

컨트롤러에이의 "업로드 된 파일 제거"섹션을 참조하십시오. 따라서 모델 속성 이름이 .hbl_pdf 인 경우 remove_hbl_pdf!이고 .image 인 경우 remove_image!

+0

내 것보다 훨씬 낫다고 말합니다. – nodrog