在ActiveJob中使用自定义Rails helper

5
我们有一个帮助方法,用于在视图和通过ActiveJob发送的短信中生成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)} - Pardeep Saini
1个回答

12

这对我起作用。

ApplicationController.helpers.accept_url(cleaner, occurrence)

6
能否加入一些为什么这会有效的细节呢?仅有代码的回答并不是很有用,而且可能会被删除。 - Cristik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接