Поэтому я пытаюсь разработать приложение, которое позволит вам конвертировать продукт в этикетку с QR-кодом.Используя гем PDFKit и wkhtmltopdf, он отлично работает локально.Но на Heroku он выдает мне HTTP 406 и следующую ошибку рельсов: ActionController::UnknownFormat (OrderController#print is missing a template for this request format and variant. request.formats: ["application/pdf"] request.variants: [])
.Я искал форумы, но не могу найти никого, кто сталкивался с той же проблемой.Я также следовал руководству на gitub PDFKit для использования heroku, ссылка на руководство .Это означает, что у меня есть как wkhtmltopdf-binary gem, так и wkhtmltopdf-heroku gem.
соответствующие фрагменты кода:
#in app/views/order/show.html.erb
<%= link_to "Print QR-code", print_order_path(@order, :format => :pdf), class 'btn btn-primary' %>
#in app/config/initializers/pdfkit.rb
PDFKit.configure do |config|
if File.executable? 'app/.apt/usr/local/bin/wkhtmltopdf'
config.wkhtmltopdf = 'app/.apt/usr/local/bin/wkhtmltopdf'
end
#app/controllers/order_controller
def print
@order = Order.find(params[:id])
end
#app/views/order/print.html.erb
<div style="display: inline-block">
<table class="QR" style="width:100%">
<tr style="margin:30px">
<td class="QR">
<% @qr = RQRCode::QRCode.new(@order.qr_code.to_s, :size => 6)%>
<%= raw @qr.as_svg(offset:0, color: '000',shape_rendering: 'crispEdges', module_size:4) %>
</td>
<td style="font-size:50px;padding:20px; text-align:center">
<%=@order.garment.to_s%><br>
<%=@order.size.to_s%>
</td>
</tr>
</table>
</div>
После добавления блока с response_to, предоставленного srng, я вместо этого получаю следующую ошибку:
ActionView::MissingTemplate(Missing template order/print, application/print with {:locale =>[:sv], :formats =>[:pdf], :variants => [], :handlers => [:raw, :erb, :html, :builder, :ruby, :coffee, :jbuilder]}