Я использую Rails 5.2 для своего приложения и sidekiq для обработки фонового задания.
class Document < ApplicationRecord
has_many :document_jobs
end
class DocumentJob < ApplicationRecord
belongs_to :document
def self.create_document_job(document, status, details)
document.document_jobs.create(status: status, details: details, user_id: user_id)
end
def self.update_document_job(document_job, status, details)
document_job.update(status: status, details: details)
end
end
Я хочу, чтобы текущий пользователь в модели заданий Документа сохранялся в БД.
Я вызываю метод create_document_job для всех работников Sidekiq
class DocumentWorker
include Sidekiq::Worker
def perform(*args)
document = Document.find_by_name("sample")
document_job = DocumentJob.create_document_job(document, "processing", "job details")
rescue StandardError => e
DocumentJob.create_document_job(document_job, "failed", "job error details")
end
end
Я хочу получить текущий идентификатор пользователя при создании задания документа в методе create_document_job модели DocumentJob. Как я могу получить его и сохранить?