2016-08-28 2 views
0

서문 질문 : 나는 REAL 레일 초보자입니다. 나는 그것을 내 첫 번째 웹 응용 프로그램을 개발하고 있어요 따라서도 기본 개념은 나를 위해 이해하기 어렵다.(종이 클립) 양식에 첨부 파일에 대한

나는 (내가 0.5MB 주위에 PDF 파일을 기대하고있어 이후) 내 응용 프로그램에서 PDF 파일을 저장하기 위해 종이 클립 (와 종이 클립 만) 사용 계획입니다 :

은 어떤것, 내 문제는 말했다 가졌어요. Paperclip의 github에 관한 튜토리얼은 나를 위해 명확한 것은 하나도 아니었다 :

  • 내 양식에 첨부 파일을 묻는 (실제로 저장하는) 방법은 무엇입니까?

대단히 고맙습니다. 정말로 두 가지 문제를 직접 해결할 수 없습니다.

편집 :이 내가 파일이 첨부

<div class="field"> 
    <%= f.label :pdf %> 
    <%= f.file_field :pdf %> 
</div> 

버튼을 뭘하려하지만 그냥 작동하지 않는 것 같습니다 및 파일이 저장되지 않습니다.

EDIT2 : 지금 내 서버가 실제로 내가 내 양식에 첨부 PDF 파일을 저장 제안 된 솔루션에 따라 .

이제는 관련 URL (pdf)이 시스템에서 pdf (자동으로 다운로드)를 저장할 위치를 묻는 페이지로 직접 보내는 이유를 이해하고자합니다. 여기에 코드의 관련 부분은 간다 :

<td><%= (link_to 'Related file', task.pdf.url, :target => "_blank") if task.pdf.exists? %></td> 

이것은 응용 프로그램/뷰/작업/index.html.erb 안쪽에

답변

1

이 예에서 (테이블에 PDF 첨부 파일을 추가 할 수있는 마이그레이션을 I Documents 테이블에 첨부 된 PDF)를 추가하고하는 것은 다음과 같아야합니다

class AddAttachmentPdfToDocuments < ActiveRecord::Migration 
    def self.up 
    change_table :documents do |t| 
     t.attachment :pdf 
    end 
    end 

    def self.down 
    remove_attachment :documents, :pdf 
    end 
end 

당신은 PDF로 열이 실제로 테이블에 추가됩니다 있도록이 마이그레이션을 만든 후 rake db:migrate를 실행해야합니다. 클립 (다시 말하지만, 난은 예를 들면 documents 모델을 사용하고 있습니다)에 대한

모형 코드는 다음과 같이 보일 것이다 :

has_attached_file :pdf, :use_timestamp => false 
validates_attachment_content_type :pdf, :content_type => ['application/pdf', 'text/plain'] 

가 PDF 파일을 추가하려면, 당신은 당신의 폼에 입력을 추가 할 필요가, 당신의 CONTROLER에서

<%= form_for @document do |f| %> 

    <%= f.input :title, label: "Title" %> 

    <%= f.input :pdf, label: "Upload document:" %> 

    <%= f.button :submit %> 

<% end %> 

을 당신이 PARAMS :pdf을 전달해야합니다 (다시 CONTROLER로 documents 사용) : 예를 들어,이 루프는 PDF 첨부 파일을 요청하기 위해 사용하는 것입니다. 귀하의 개인 방법과 같이 보일 것이다 : 당신은 당신이 그것을 변경해야 다른 이름을 사용하는 경우, 그래서

def documents_params 
    params.require(:document).permit(:title, :pdf) 
end 

주, 나는 등 내 컨트롤러, 모델, 형성으로 document을 사용하고 있습니다. 문제가 발생하면 코멘트를 남겨 나는

+0

가 확실히했다 그 수 있도록 노력할 것입니다! 나는 아직 완전히 내가 한 모든 것을 파악하지 않지만 감사합니다, 나는 거기에 도착합니다. 편집 : 한 가지 더 질문 : 내 '보기'에는 이제 내 첨부 된 PDF에 대한 URL 링크가 있습니다. 유일한 문제는 그것을 클릭하면 이미 새 탭을 열어서 저에게 PDF 저장을 요청하는 것입니다. 다운로드 또는 저장을 요구하지 않고 어떻게 표시 할 수 있습니까? –

+0

나는 당신의 요구가 무엇인지 너무 확신하지 못합니다. 새로운 탭을 열지 않고 직접 PDF를 다운로드 하시겠습니까? –

+0

정반대로, 새로운 탭에서 열어보고 싶습니다. 실제로 저장하는 위치를 선택하는 '파일 저장'대화 상자가 열리는 실제 형식입니다. –