whkpdf дает ActionController::UnknownFormat ошибка в рельсах
Я пытаюсь интегрировать wicked_pdf в мое приложение rails 4. Как бы то ни было, у меня ошибка UnknownFormat.
В файле gem я добавил
gem 'wicked_pdf'
В контроллере моих студентов у меня есть метод show, как показано ниже:
controllers/students_controllers
respond_to :html, :js, :pdf
def show
@student = Student.find(params[:id])
respond_to do |format|
format.pdf do
render :pdf => "students",:template => "students/show_pdf"
end
end
Тогда у меня есть шаблон show_pdf.pdf.erb в папке просмотра моих студентов. Как всегда я добавил Wicked_pdf engin путь в
initializers/wicked_paf.rb
WickedPdf.config = {
:exe_path => '/usr/bin/wkhtmltopdf'
}
Я также добавил MIME-тип для PDF в initilizers / mime_type.rb
initializers/mime_type.rb
Mime::Type.register "application/pdf", :pdf
Но везения нет. Я получил ошибку неизвестного формата.
ActionController::UnknownFormat at /students/1
ActionController::UnknownFormat
Я не знаю причину этой ошибки. Пожалуйста, помогите мне выяснить проблему.
Заранее спасибо.
2 ответа
Вам не нужно добавлять "pdf" как новый mime_type в Rails 4 (он уже есть).
В вашем file_path есть опечатка: "initializers/wicked_paf.rb" вместо "initializers/wicked_pdf.rb".
Попробуйте изменить #show в контроллере следующим образом:
def show respond_to do |format| format.html format.pdf do render :pdf => "students" end end end
Конечно, вам нужно сделать правильное представление для него в вашем app / views / Students/show.html.erb.
Убедитесь, что у вас есть format: 'pdf'
в вашей ссылке:
link_to 'My PDF', print_pdf_path, format: 'pdf'
Вам необходимо добавить.pdf в вашу конечную точку: Пример: api/reports/1.pdf