我正在使用sinatra和sidekiq。我试图从sidekiq工作者中渲染一个erb模板,我得到一个未定义的方法'erb'。在我的脑海中,事情应该工作因为sidekiq被加载为我的sinatra应用程序的一个实例,所以它应该有erb方法。我在这里缺少什么?
class SomeWorker
include Sidekiq::Worker
def perform(id)
erb(:emailTemplate)
end
end
(我现在意识到SomeWorker类与sinatra没有任何关系,所以当然它没有erb方法。也许我只能调用helper模块?代替erb方法调用? )
答案 0 :(得分:0)
所以我想出了一个解决方案:
require 'erb'
require 'tilt'
class ForgotEmailWorker
include Sidekiq::Worker
def perform
template = tilt.new(__path_to_erb_file).render
end
end