2014-09-02 5 views
-1

wicked_pdf gem을 사용하여 dyanmic HTMl을 PDF로 변환하려고합니다. ERB 뷰를 문자열로 렌더링하는 방법은 무엇입니까?

내가 성공적 to_pdf.html 렌더링

class HomeController < ApplicationController 
    def index 
    @var = Hash.new 
    @var = { first_name: "John", last_name: "Doe", address: "A & N", country: "India" } 
    html = render "home/to_pdf.html.erb", locals: { var:@var }, layout: false 
    pdf = WickedPdf.new.pdf_from_string(html[0].to_s) 

    save_path = Rails.root.join('pdfs','filename.pdf') 
    File.open(save_path, 'wb') do |file| 
     file << pdf 
    end 

    render :home # or redirect_to is also acceptable 
    end 
end 

to_pdf.html.erb

<style type="text/css"> 
    .row { 
     color: red; 
    } 
    .p { 
     font-size: 20px; 
     font-weight: bold; 
    } 
</style> 
<h1>Hello World</h1> 
<div class="row"> 
    <em><%= @var[:first_name] %></em> 
    <em><%= @var[:last_name] %></em> 
</div> 
<div class="row"> 
    <em><%= @var[:address] %></em> 
    <em><%= @var[:country] %></em> 
</div> 
<div class="sign"> 
    <br><br> 
    SIgn Here 
</div> 

home.html.erb

<h1>Pdf created successfully</h1> 

이 전부입니다 .erb 및 successfuly 만들고 pdf 파일을 저장하지만 나는 DoubleRenderError을 가지고 있습니다.

는 내가 그것을 redirect_to 또는 "홈"에 렌더링 할

참고 : 나는 "집"을 렌더링 제거하면, 그때 나는 오류 없어하지만 그것은 to_pdf.html.erb하지 인덱스를 렌더링 .html.erb.

나는 HTML로 pdf로 변환 할 수 있도록 컴파일 된 erb보기 (이것은 @var를 사용하여 위의 m에서 볼 수있는 동적)를 html로 원한다.

답변

3

많은 사람, 당신은 오 세상에, 하나 개의 라인이 이전에 있었다 온 세상을 변화 render_to_string

+1

시도 할 수 덕분에 pdf에 대한 erb 렌더링 : –

+0

당신은 환영합니다;.) – IS04

관련 문제