wicked_pdf, невозможно отобразить pdf - PullRequest
0 голосов
/ 22 сентября 2018

Я пытаюсь сгенерировать pdf, используя wicked_pdf, но получаю сообщение об ошибке «Невозможно отобразить шаблон».Я следовал руководству wicked_pdf, но застрял.Любая помощь приветствуется.

url:

http://localhost:3000/app/letters/1.pdf

app / controllers / app / letters_controller.rb:

  def show
    respond_to do |format|
   format.html
   format.pdf do
     render pdf: "Letters"   # Excluding ".pdf" extension.
    end
    end
  end

Показать ссылку на страницу:

<li><a href="<%= app_letter_path(@letter, format: :pdf) %>" target="_blank"> Print</a></li>

app/views/app/letters/show.pdf:

<!doctype html>
<html>
  <head>
  </head>
  <body>
    <div>
      <p>test</p>
    </div>
  </body>
</html>

Gemfile:

gem 'wicked_pdf'
gem 'wkhtmltopdf-binary'

Ошибка:

Не удалось загрузить документ PDF.

1 Ответ

0 голосов
/ 22 сентября 2018

Wicked PDF Оформление здесь для доступных параметров

  1. Создание макета для PDF-документа в views/layouts/pdf.html.erb
  <!DOCTYPE html>
  <html>
    <head>
      <title>My PDF</title>
      <%#= wicked_pdf_stylesheet_link_tag "style" -%>
    </head>
    <body>
      <div class='my_container'>
        <%= yield %>
      </div>
    </body>
  </html>

2- В контроллере (Вы должны добавить опцию как disposition: 'inline', чтобы открыть в новой вкладке)

  def show
    respond_to do |format|
      format.pdf do
        render pdf: "show",
        disposition: 'inline',
        stream: false,
        layout: 'layouts/pdf.html.erb'
      end
    end
  end

3 - имя документа PDF html должно заканчиваться .erb i .e app/views/app/letters/show.pdf.erb

<div>
  <p>test</p>
</div>
...