Send_data не отправляет pdf (WickedPdf)

Я пытаюсь создать PDF-файл для загрузки пользователем. Я использую гем WickedPdf.

<%= simple_form_for :report, url: [:download, :admin, :reports], format: :pdf, method: :get, remote: true do |f| %>
  <%= f.input :event, collection: @events %> 
  <%= f.input :report_type, collection: [:schedule, :overview] %>
  <%= f.submit "Download" %>
<% end %>



class Admin::ReportsController < Admin::BaseController

  def index
    @events = Event.all
  end

  def download
    respond_to do |format|
      format.pdf do
        pdf = WickedPdf.new.pdf_from_string(pdf_string)
        send_data pdf, :filename => "report.pdf", :type => "application/pdf"
      end
    end
  end

  private

  def pdf_string
    render_to_string(template:'admin/reports/pdf/schedule_overview.html.erb', layout: false)
  end

end

app/views/admin/reports/pdf/schedule_overview.html.erb

This is a pdf

(просто текст банкомата)

Сервер при запросе:

Started GET "/admin/reports/download?utf8=%E2%9C%93&report%5Bevent%5D=1&report%5Breport_type%5D=schedule&commit=Download" for ::1 at 2017-08-16 16:18:49 +0100
Processing by Admin::ReportsController#download as JS
  Parameters: {"utf8"=>"✓", "report"=>{"event"=>"1", "report_type"=>"schedule"}, "commit"=>"Download"}
  User Load (0.6ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2  [["id", 1], ["LIMIT", 1]]
  Rendering admin/reports/pdf/schedule_overview.html.erb
  Rendered admin/reports/pdf/schedule_overview.html.erb (0.8ms)
"***************[\"/Users/jonathansayer/.rvm/gems/ruby-2.4.0/bin/wkhtmltopdf\", \"-q\", \"file:////var/folders/0x/g3xdsy4s48q9y0lpzsppltv80000gn/T/wicked_pdf20170816-33407-4r72d4.html\", \"/var/folders/0x/g3xdsy4s48q9y0lpzsppltv80000gn/T/wicked_pdf_generated_file20170816-33407-1hnp6hr.pdf\"]***************"
  Rendering text template
  Rendered text template (0.1ms)
Sent data report.pdf (1.9ms)
Completed 200 OK in 1803ms (Views: 1.4ms | ActiveRecord: 0.6ms))

Но pdf не отправляется клиенту. Любая помощь будет принята с благодарностью.


person JonSayer    schedule 16.08.2017    source источник
comment
Я думаю, формат должен быть pdf, а не js   -  person Pardeep Dhingra    schedule 16.08.2017
comment
Да, обновился. Но все равно не решает проблему.   -  person JonSayer    schedule 16.08.2017
comment
Вы можете показать свой обновленный код?   -  person Pardeep Dhingra    schedule 16.08.2017
comment
Готово   -  person JonSayer    schedule 16.08.2017
comment
simple_form формат содержит опечатку   -  person Pardeep Dhingra    schedule 16.08.2017
comment
Ага, извини. Это был мой торопливый набор текста. Обновлено, но все та же проблема.   -  person JonSayer    schedule 16.08.2017
comment
Попробуйте в разных браузерах. В Microsoft EDGE иногда PDF не открывается.   -  person Maxence    schedule 16.08.2017
comment
Пробовал в Chrome и Safari, по-прежнему не загружается   -  person JonSayer    schedule 16.08.2017


Ответы (1)


Я получил это, удалив remote: true

person JonSayer    schedule 16.08.2017
comment
спасибо за ваше предложение! - person slopeofhope; 24.03.2021