如何将ApplicationController中的帮助器包含到Sidekiq工作器中?

use*_*621 0 ruby ruby-on-rails helper sidekiq

这是我的ApplicationController控制器:

class ApplicationController < ActionController::Base
  helper_method :is_admin?

  def is_admin?
    ...
  end
end
Run Code Online (Sandbox Code Playgroud)

我想is_admin?在Sidekiq工作者中使用这个助手.到目前为止,我在这里包括:

class GenerateInvoiceWorker
  include Sidekiq::Worker

  def perform(product_id)
    av = ActionView::Base.new()
    av.view_paths = ActionController::Base.view_paths

    av.class_eval do
      include Rails.application.routes.url_helpers
      include ApplicationHelper
    end

    ...
  end
end
Run Code Online (Sandbox Code Playgroud)

如何在工作者中使用辅助方法?

谢谢

Mik*_*ham 6

你想的就是这样:

class GenerateInvoiceWorker
  include Sidekiq::Worker
  include MyHelper

  def perform(product_id)
  end
end
Run Code Online (Sandbox Code Playgroud)