ruby-on-rails - 在 ActiveJob 中使用自定义 Rails 助手

标签 ruby-on-rails ruby-on-rails-4 rails-activejob

我们有一个辅助方法,用于在 View 和通过 ActiveJob 发送的 SMS 中生成 URL。

我们如何访问作业中的辅助方法?

module Crew::AvailableJobsHelper
  def accept_url(cleaner, occurrence)
    if some_condition_is_true
      crew_accept_job_url(cleaner_id: cleaner.id, job_id: occurrence.job.id)        
    else
      crew_accept_occurrence_url(cleaner_id: current_user.id, occurrence_id: occurrence.id)
    end
  end
end

class Crew::UnassignedAlertJob < ActiveJob::Base
  queue_as :default

  def perform
    sms_body = "Click here to accept a job: #{accept_url(cleaner, occurrence)}"
  end
end

最佳答案

这对我有用

ApplicationController.helpers.accept_url(cleaner, occurrence)

关于ruby-on-rails - 在 ActiveJob 中使用自定义 Rails 助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33408227/

相关文章:

ruby-on-rails - Rails - has_one 与两个可能模型之一的关联

ruby - "Codabar"ruby​​ 中的 rghost_barcode 条形码生成似乎不正确

ruby-on-rails - Heroku 工具带 `initialize' : no implicit conversion of nil into Hash (TypeError)

ruby-on-rails - 由于快进,使用 git 部署到 heroku 不断被拒绝

ruby-on-rails - OpenSSL 导致 Windows 上的 Rails 启动时间非常慢

jquery - Rails 4 Turbolinks 后退按钮和由于 pageCached 的多个事件绑定(bind)

ruby-on-rails - 如何处理 'record does not exist'错误并防止后台作业尝试重试?

ruby-on-rails - 使用 Clockwork/Delayed_Job/ActiveJob 安排每 5 分钟运行一次(轮)

ruby-on-rails - 在 ActiveJob 中,如何捕获任何异常

ruby-on-rails - 克隆续集模型