Привет, у меня есть приложение для написания предложений.Я пытаюсь настроить wicked_pdf для генерации PDF, и по какой-то причине он не использует правильный шаблон.он использует мой шаблон приложения, а не шаблон pdf.
app / controllers / offer_controller.rb
def show
@proposal = Proposal.find(params[:id])
@custom_content = @proposal.custom_contents
respond_to do |format|
format.html
format.pdf do
render pdf: "some_name",
template: "proposals/show.pdf.erb",
layout: "pdf.html",
margin: { top: 35, bottom: 35 }
end
end
end
app / views / layouts / pdf.html.erb
<!DOCTYPE html>
<html>
<head>
<title>PDF</title>
<%= wicked_pdf_stylesheet_link_tag "application" -%>
</head>
<body>
<div class='container d-flex justify-content-center'>
test 2
<%= yield %>
</div>
</body>
</html>
app / views / offer / show.pdf.erb
<div class="row full-page justify-content-center" id="cover">
<div class="container">
<div class="row p-0">
<div class="col-12 d-flex align-items-end ">
<%= wicked_pdf_image_tag '1209232_1920-1.jpg' %>
</div>
</div>
<div class="row pt-1 d-flex align-items-end text-justify">
<div class="col-12 text-justify cover-background">
<div class="row pt-1">
<h2 class="text-white text-justify">Proposal For <br> Maintenance</h2>
</div>
<div class="row p-0">
<div class="col-6">
<h5 class="text-white text-justify">Prepared For: <%= @proposal.contact.name %></h5>
<h6></h6>
</div>
<div class="col-6">
<h5 class="text-white text-justify">Prepared By: <%= @proposal.user.name %></h5>
</div>
</div>
</div>
</div>
</div>
</div>
config / initializers / wicked_pdf.rb
# WickedPDF Global Configuration
#
# Use this to set up shared configuration options for your entire application.
# Any of the configuration options shown here can also be applied to single
# models by passing arguments to the `render :pdf` call.
#
# To learn more, check out the README:
#
# https://github.com/mileszs/wicked_pdf/blob/master/README.md
WickedPdf.config = {
}
config / initializers / mime_types.rb
# Be sure to restart your server when you modify this file.
# Add new mime types for use in respond_to blocks:
# Mime::Type.register "text/richtext", :rtf
Mime::Type.register "application/pdf", :pdf
Мне кажется, что я смотрел на это так долго, что, наверное, я упускаю очевидное.Я даже запустил пример приложения для тестирования ... и у меня не было проблем с ним.
Я последовал этому великолепному учебнику - https://medium.com/@yazed.jamal/using-wicked-pdf-with-rails-5-3d1a4b0a09ba
Любая помощь очень ценится
Следует также отметить, что созданный файл не "some_name", а идентификатор .pdf
, моя кнопка находится в моем приложении / views / offer / _proposal-cover.html.erbкоторый является частичным в моем приложении / views / предложения / show.html.erb
<%= link_to 'Download', proposal_path(@proposal, :format => :pdf), class: 'btn btn-default' %>