我有一个Sidekiq工作人员,它做一些后台处理,然后最后向第三方API发布一条成功消息。我发布的这条消息本质上是一条“谢谢”消息,可以包含HTML。
在消息中,我想以一种格式正确的方式链接到我的站点。对我来说,这听起来很自然。我想简单地使用一个视图模板,将其呈现为HTML,最后将其发布到API中。
对于我的生活,我想不出如何从我的Sidekiq工作人员中呈现一个视图。
我已经考虑过设置一个虚拟控制器/视图组合,并从工作人员内部实例化它,但这似乎是错误的。
如有任何意见,将不胜感激。
发布于 2014-08-02 22:32:01
在员工内部,您可以直接使用ActionView::Base来呈现视图。例如,要呈现users/events部分:
view = html = ActionView::Base.new(Rails.root.join('app/views'))
view.class.include ApplicationHelper
view.render(
partial: 'users/event',
object: user.events.last
)发布于 2014-08-02 22:47:28
您可以使用ERB在作业中呈现模板。
require 'erb'
@text = "my answer" # variables, accessible in template.
template = "This is <%= @text %>."
# you can also render file like ERB.new(File.read(<file name here>))
renderer = ERB.new(template)
puts output = renderer.result()更多关于ERB的信息
https://stackoverflow.com/questions/25099926
复制相似问题