我遇到了一个问题,即使我单击多条记录并行下载,也只会下载最后一个 pdf 文件。
看法
<%= link_to(inline_mat_svg :download, stock_item_generate_part_tag_path(stock_item, format: :pdf) %>
控制器:
respond_to do |format|
format.html
format.pdf do
pdf = Grover.new("#{request.original_url[0..-5]}?&token=#{@report_user.token}",
{format: 'A4',
margin: {
top: '5px',
bottom: '5px',
left: '10px',
right: '10px'
},
viewport: {
width: 1280,
height: 1024
},
prefer_css_page_size: true,
emulate_media: 'screen',
# cache: false,
timeout: 0, # Timeout in ms. A value of `0` means 'no timeout'
launch_args: ['--font-render-hinting=medium'],
executable_path: Rails.configuration.chromium_executable_path,
wait_until: 'networkidle0'
}).to_pdf
send_data pdf, type: 'application/pdf', filename: "Test_#{Time.now.strftime('%m-%d-%Y')}.pdf", disposition: :attachment
当用户同时单击多条记录时,只会下载最后一个 PDf。但是在控制台中,正在渲染多个 PDF 文件。
安慰:
Started GET "/stock_items/502393374/part_tag.pdf" for ::1 at 2020-11-09 19:25:10 -0500
Processing by StockItemsController#part_tag as PDF
Parameters: {"stock_item_id"=>"502393374"}
User Load (1.1ms) SELECT `users`.* FROM `users` WHERE `users`.`email` = 'test.com' LIMIT 1
↳ app/controllers/concerns/authentication.rb:58:in `in_development_mode?'
Profile Load (0.7ms) SELECT `profiles`.* FROM `profiles` WHERE `profiles`.`id` = 185443385 LIMIT 1
↳ app/models/ability.rb:10:in `block in initialize'
Permission Load (1.1ms) SELECT DISTINCT `permissions`.* FROM `permissions` INNER JOIN `permissions_profiles` ON `permissions`.`id` = `permissions_profiles`.`permission_id` WHERE `permissions_profiles`.`profile_id` = 185443385
↳ app/models/ability.rb:10:in `block in initialize'
StockItem Load (0.8ms) SELECT `stock_items`.* FROM `stock_items` WHERE `stock_items`.`id` = 502393374 LIMIT 1
↳ app/controllers/stock_items_controller.rb:104:in `part_tag'
User Load (0.9ms) SELECT `users`.* FROM `users` WHERE `users`.`email` = 'test.com' LIMIT 1
↳ app/controllers/stock_items_controller.rb:105:in `part_tag'
Started GET "/stock_items/747718251/part_tag.pdf" for ::1 at 2020-11-09 19:25:11 -0500
Processing by StockItemsController#part_tag as PDF
Parameters: {"stock_item_id"=>"747718251"}
User Load (0.8ms) SELECT `users`.* FROM `users` WHERE `users`.`email` = 'abc.com' LIMIT 1
↳ app/controllers/concerns/authentication.rb:58:in `in_development_mode?'
Profile Load (0.7ms) SELECT `profiles`.* FROM `profiles` WHERE `profiles`.`id` = 185443385 LIMIT 1
↳ app/models/ability.rb:10:in `block in initialize'
Permission Load (0.8ms) SELECT DISTINCT `permissions`.* FROM `permissions` INNER JOIN `permissions_profiles` ON `permissions`.`id` = `permissions_profiles`.`permission_id` WHERE `permissions_profiles`.`profile_id` = 185443385
↳ app/models/ability.rb:10:in `block in initialize'
StockItem Load (0.8ms) SELECT `stock_items`.* FROM `stock_items` WHERE `stock_items`.`id` = 747718251 LIMIT 1
↳ app/controllers/stock_items_controller.rb:104:in `part_tag'
User Load (0.8ms) SELECT `users`.* FROM `users` WHERE `users`.`email` = 'test.com' LIMIT 1
↳ app/controllers/stock_items_controller.rb:105:in `part_tag'
Started GET "/stock_items/502393374/part_tag?&token=ccc" for ::1 at 2020-11-09 19:25:12 -0500
Processing by StockItemsController#part_tag as HTML
Parameters: {"token"=>"ccc", "stock_item_id"=>"502393374"}
User Load (1.1ms) SELECT `users`.* FROM `users` WHERE `users`.`email` = 'abc.com' LIMIT 1
↳ app/controllers/concerns/authentication.rb:58:in `in_development_mode?'
Profile Load (1.0ms) SELECT `profiles`.* FROM `profiles` WHERE `profiles`.`id` = 185443385 LIMIT 1
↳ app/models/ability.rb:10:in `block in initialize'
Permission Load (1.4ms) SELECT DISTINCT `permissions`.* FROM `permissions` INNER JOIN `permissions_profiles` ON `permissions`.`id` = `permissions_profiles`.`permission_id` WHERE `permissions_profiles`.`profile_id` = 185443385
↳ app/models/ability.rb:10:in `block in initialize'
StockItem Load (1.1ms) SELECT `stock_items`.* FROM `stock_items` WHERE `stock_items`.`id` = 502393374 LIMIT 1
↳ app/controllers/stock_items_controller.rb:104:in `part_tag'
User Load (1.1ms) SELECT `users`.* FROM `users` WHERE `users`.`email` = 'test.com' LIMIT 1
↳ app/controllers/stock_items_controller.rb:105:in `part_tag'
Rendering layouts/application.html.erb
Rendering stock_items/part_tag.html.erb within layouts/application
Product Load (1.6ms) SELECT `products`.* FROM `products` WHERE `products`.`id` = 792659304 LIMIT 1
↳ app/views/stock_items/_serviceable_part_tag.html.erb:10
Certificate Load (1.0ms) SELECT `certificates`.* FROM `certificates` WHERE `certificates`.`stock_item_id` = 502393374
↳ app/views/stock_items/_serviceable_part_tag.html.erb:60
Transfer Load (1.7ms) SELECT `transfers`.* FROM `transfers` WHERE `transfers`.`id` = 273907479 LIMIT 1
↳ app/views/stock_items/_serviceable_part_tag.html.erb:71
User Load (1.0ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 207907133 LIMIT 1
↳ app/views/stock_items/_serviceable_part_tag.html.erb:71
Rendered stock_items/_serviceable_part_tag.html.erb (Duration: 39.2ms | Allocations: 7894)
Rendered stock_items/_unserviceable_part_tag.html.erb (Duration: 0.1ms | Allocations: 35)
Rendered stock_items/part_tag.html.erb within layouts/application (Duration: 46.1ms | Allocations: 10204)
[Webpacker] Everything's up-to-date. Nothing to do
Rendered layouts/_nav_bar_common_option.html.erb (Duration: 14.0ms | Allocations: 281)
Rendered layouts/_header.html.erb (Duration: 32.5ms | Allocations: 443)
Rendered layouts/_nav_bar_common_option.html.erb (Duration: 0.6ms | Allocations: 276)
Rendered layouts/_focused_object_header.html.erb (Duration: 1.6ms | Allocations: 422)
Rendered layouts/_footer.html.erb (Duration: 0.2ms | Allocations: 51)
Rendered layouts/application.html.erb (Duration: 407.8ms | Allocations: 142784)
Completed 200 OK in 458ms (Views: 405.1ms | ActiveRecord: 11.1ms | Allocations: 151063)
Started GET "/stock_items/747718251/part_tag?&token=cccc" for ::1 at 2020-11-09 19:25:14 -0500
Processing by StockItemsController#part_tag as HTML
Parameters: {"token"=>"ccc", "stock_item_id"=>"747718251"}
User Load (1.1ms) SELECT `users`.* FROM `users` WHERE `users`.`email` = 'test.com' LIMIT 1
↳ app/controllers/concerns/authentication.rb:58:in `in_development_mode?'
Profile Load (0.7ms) SELECT `profiles`.* FROM `profiles` WHERE `profiles`.`id` = 185443385 LIMIT 1
↳ app/models/ability.rb:10:in `block in initialize'
Permission Load (1.0ms) SELECT DISTINCT `permissions`.* FROM `permissions` INNER JOIN `permissions_profiles` ON `permissions`.`id` = `permissions_profiles`.`permission_id` WHERE `permissions_profiles`.`profile_id` = 185443385
↳ app/models/ability.rb:10:in `block in initialize'
StockItem Load (0.9ms) SELECT `stock_items`.* FROM `stock_items` WHERE `stock_items`.`id` = 747718251 LIMIT 1
↳ app/controllers/stock_items_controller.rb:104:in `part_tag'
User Load (1.4ms) SELECT `users`.* FROM `users` WHERE `users`.`email` = 'test.com' LIMIT 1
↳ app/controllers/stock_items_controller.rb:105:in `part_tag'
Rendering layouts/application.html.erb
Rendering stock_items/part_tag.html.erb within layouts/application
Product Load (1.0ms) SELECT `products`.* FROM `products` WHERE `products`.`id` = 792659304 LIMIT 1
↳ app/views/stock_items/_serviceable_part_tag.html.erb:10
Certificate Load (1.0ms) SELECT `certificates`.* FROM `certificates` WHERE `certificates`.`stock_item_id` = 747718251
↳ app/views/stock_items/_serviceable_part_tag.html.erb:60
Transfer Load (0.7ms) SELECT `transfers`.* FROM `transfers` WHERE `transfers`.`id` = 1026987850 LIMIT 1
↳ app/views/stock_items/_serviceable_part_tag.html.erb:71
User Load (1.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 207907133 LIMIT 1
↳ app/views/stock_items/_serviceable_part_tag.html.erb:71
Rendered stock_items/_serviceable_part_tag.html.erb (Duration: 22.2ms | Allocations: 7229)
Rendered stock_items/_unserviceable_part_tag.html.erb (Duration: 0.1ms | Allocations: 35)
Rendered stock_items/part_tag.html.erb within layouts/application (Duration: 30.8ms | Allocations: 10908)
[Webpacker] Everything's up-to-date. Nothing to do
Rendered layouts/_nav_bar_common_option.html.erb (Duration: 0.3ms | Allocations: 281)
Rendered layouts/_header.html.erb (Duration: 0.9ms | Allocations: 479)
Rendered layouts/_nav_bar_common_option.html.erb (Duration: 0.3ms | Allocations: 276)
Rendered layouts/_focused_object_header.html.erb (Duration: 0.6ms | Allocations: 422)
Rendered layouts/_footer.html.erb (Duration: 0.1ms | Allocations: 51)
Rendered layouts/application.html.erb (Duration: 283.9ms | Allocations: 136084)
Completed 200 OK in 328ms (Views: 281.3ms | ActiveRecord: 8.9ms | Allocations: 144078)
**Rendering text template
Rendered text template (Duration: 0.0ms | Allocations: 1)
Sent data Serviceable_JBAEA00969_11-09-2020.pdf (2.1ms)**
Completed 200 OK in 6688ms (Views: 1.8ms | ActiveRecord: 4.7ms | Allocations: 2706188)
Rendering text template
Rendered text template (Duration: 0.0ms | Allocations: 1)
Sent data Serviceable_JBAEA00967_11-09-2020.pdf (1.3ms)
Completed 200 OK in 6596ms (Views: 1.1ms | ActiveRecord: 3.9ms | Allocations: 2582540)