Unknown format with wicked_pdf

Viewed 1982

I am trying to install wicked_pdf in order to generate pre-filled contracts between 2 users on my Rails application.

I feel like I have installed wicked_pdf properly, but I get an "ActionController::UnknownFormat" error.

What I did :

# Gemfile

gem 'wicked_pdf'
gem 'wkhtmltopdf-binary'

With or without uncommenting the 'exe...' lines (one after the other), I still get the error :

# initializers/wicked_pdf.rb

WickedPdf.config = {
# Path to the wkhtmltopdf executable: This usually isn't needed if using
# one of the wkhtmltopdf-binary family of gems.
# exe_path: '/usr/local/bin/wkhtmltopdf',
#   or
# exe_path: Gem.bin_path('wkhtmltopdf-binary', 'wkhtmltopdf')

# Layout file to be used for all PDFs
# (but can be overridden in `render :pdf` calls)
# layout: 'pdf.html',
}

My controller:

#bookings_controller.rb

class BookingsController < ApplicationController
def show
  @booking = Booking.find(params[:id])
  respond_to do |format|
    format.html
    format.pdf do
      render pdf: "test_wicked_pdf"
    end
  end
  authorize @booking # For Pundit
end

The render HTML is working when i go to localhost:3000/bookings/135 ...

# bookings/show.html.erb

<h1>PDF test</h1>

...but not the PDF when I comment out "# format.html" in my controller

# bookings/show.pdf.erb

<h1>PDF test</h1>

Thanks a lot in advance

1 Answers

I know it is a pretty old question but you can use the gem wkhtmltopdf-binary-edge instead of the regular wkhtmltopdf-binary gem. It worked for me.

Related