2013-04-11 2 views

답변

0

제공된 웹 사이트에서 surveyor:custom 컨트롤러를 생성해야합니다. 이로부터 그 다음 당신은 다음과 같은 두 가지 보석

gem 'pdfkit' 
    gem 'wkhtmltopdf' 

그러나 개인적으로 나는 내 의견으로는 wicked_pdf을 사용하는 것을 선호를 설치 알려줍니다. 자습서를 약간 변경하면 다음을 수행 할 수 있습니다.

rails generate surveyor:custom 

이렇게하면 컨트롤러가 생성됩니다. 그렇다면 나중에 wicked_pdf이 제공 할 옵션을 사용하여 구성 할 수 있습니다.

는 Gemfile에 다음 줄을 추가합니다 위해

gem 'wicked_pdf' #https://github.com/mileszs/wicked_pdf 
    gem 'wkhtmltopdf' #https://code.google.com/p/wkhtmltopdf/ 

가 제대로 당신을 위해 생성하여 surveyor controller에서 동작 내부 같은 것을 가질 필요가 wicked_pdf 수출을 할 수 있습니다. index.html.erb 당신이 다음 할 것이다 내부 app/views/survey/index.html.erb 당신의 위 - 그래서 당신은 당신이 할 수이 응답 블록에서 당신의 surveyor_controller.rb

respond_to do |format| 
     format.html 
     format.pdf do 
     render :pdf => "Survey Report", 
       :header => {:html => {:template => 'layouts/pdf.html.erb'}} 

     end 
    end 

당신의 index 행동에 이런 일이있을 수 있습니다/나는이가 views에서 다음 디렉토리 생각해야 이 안에 링크.

<%= link_to "PDF", view_my_survey_path(:survey_code => 
response_set.survey.access_code, :response_set_code => 
        response_set.access_code, :format => 'pdf') %> 

이전까지는 측량사를 사용한 적이 없습니다. 그러나 당신이 제공 한 것을 바탕으로, 당신이 원하는 것은 내가 할 수있는 한 자세한 설명을 많이하려고 노력했습니다. 당신이를 만들 필요가이 잠재적으로 또는

예 Wicked_PDF 사용 PDF를 생성하기 위해

def index 
    @bookings= Booking.scoped 
    booking = @bookings 
    @user = current_user 

    if params[:format] == 'pdf' 
     @bookings= @bookings.where(:day => Date.today.beginning_of_month..Date.today.end_of_month) 
    end 

    respond_to do |format| 
     format.html 
     format.pdf do 
     render :pdf => "#{Date.today.strftime('%B')} Overtime Report", 
       :header => {:html => {:template => 'layouts/pdf.html.erb'}} 
     OvertimeMailer.overtime_pdf(@user, booking).deliver 
     end 
    end 
    end 

View.html.erb

<%= Link_to "Overtime", "booking.png", bookings(:format => "pdf") %> 

를의 다른 사람을 도움이되기를 바랍니다 다음의 확장자를 갖는 파일 .pdf.erb 이것은 링크가 처리 될 때 먼저 내장 된 루비 코드를 처리 한 다음 PDF를 출력한다는 것을 의미합니다. 그래서이 경우 저는 예약을하고 싶습니다. 그래서 나는 다음이 안에 내 views/bookings/index.pdf.erb에서 한 만든 않았다

보기/예약/index.pdf.erb

<br /> 
<% @bookings.each do |booking| %> 

<p> 
    <b>Employee</b> 
    <%= booking.user.try (:full_name)%> 
</p> 

<p> 
    <b>Hospital</b> 
    <%= booking.hospital.try(:name)%> 
</p> 

<p> 
    <b>Day</b> 
    <%= booking.day.to_s(:long_ordinal) %> 
</p> 

<p> 
    <b>Overtime</b> 
    <%= booking.overtime %> 
</p> 
    <br /> 
<% end %> 

<h2>Total Overtime is <b><%[email protected]_a.sum(&:overtime)%></b></h2> 

이 떨어져

+0

의 일을하기 위해 몇 가지 핵심 근거를 제공해야 안녕 데이빗, 당신이 말한 것처럼 노력했지만 몇 가지 문제에 직면했습니다 : 1) 나는'/views/survey/index.html을 찾지 않습니다.erb '이고 응답 블록에는 추가'끝 '이 있습니다. 대답을 설명하는 데 도움이되는 실제 코드가 있다면 링크를 제공하십시오. 감사! :) – Clone

+0

@Clone 내가 언급 한 것처럼 나는'surveyor gem'을 사용하지 않았지만'wicked_pdf'를 어떻게 사용하는지에 대한 예를 보여줄 수 있기를 바랍니다. 업데이트보기 – David