Im пытается использовать DelayedJob для рендеринга PDF-файлов. После кода пользовательских заданий в документации, я придумал это:Как реализовать задание DelayedJob для рендеринга PDF-рендеринга?
/lib/jobs/pdf_handling.rb
RenderPdf = Struct.new(:id, :view_context) do
def perform
user = User(id)
pdf = UserFolder.new(id, view_context)
name = "user_folder_report.pdf"
send_data pdf.render, filename: name, type: "application/pdf"
end
end
PagesController.rb
def user_folder
respond_to do |format|
format.pdf do
Delayed::Job.enqueue RenderPdf.new(@user, view_context)
end
end
end
это приводит к ошибке:
uninitialized constant PagesController::RenderPdf
Добавление требуемого RenderPdf в верхней части PagesController не помогает ,
Что мне не хватает? Как я могу реализовать это, поэтому генерация PDF происходит через DelayedJob? Благодарю.
обновленияКогда/работа перемещается в/приложения изменяется ошибка в:
can't dump anonymous module: #<Module:0x007fca7a3ae638>
/application.rb
config.autoload_paths += Dir["#{config.root}/lib/assets/"]
обновлений
Я изменил
class RenderFolder < Struct.new(:type, :rating_id, :dis, :view_context)
def perform
в
class RenderFolder < ActiveJob::Base
def perform(...)
Затем, используя ActiveJob, вы можете сделать
RenderFolder.perform_later(...)
Это, кажется, работает ... я все еще реализации.
Я изначально был в приложении/заданиях. Но получил ту же ошибку. Я вытащу его из библиотеки и повторю попытку. – hellion