首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Sidekiq工作者内部呈现Rails视图

从Sidekiq工作者内部呈现Rails视图
EN

Stack Overflow用户
提问于 2014-08-02 22:20:30
回答 2查看 3K关注 0票数 4

我有一个Sidekiq工作人员,它做一些后台处理,然后最后向第三方API发布一条成功消息。我发布的这条消息本质上是一条“谢谢”消息,可以包含HTML。

在消息中,我想以一种格式正确的方式链接到我的站点。对我来说,这听起来很自然。我想简单地使用一个视图模板,将其呈现为HTML,最后将其发布到API中。

对于我的生活,我想不出如何从我的Sidekiq工作人员中呈现一个视图。

我已经考虑过设置一个虚拟控制器/视图组合,并从工作人员内部实例化它,但这似乎是错误的。

如有任何意见,将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-02 22:32:01

在员工内部,您可以直接使用ActionView::Base来呈现视图。例如,要呈现users/events部分:

代码语言:javascript
复制
view = html = ActionView::Base.new(Rails.root.join('app/views'))
view.class.include ApplicationHelper
view.render(
  partial: 'users/event', 
  object: user.events.last
)
票数 8
EN

Stack Overflow用户

发布于 2014-08-02 22:47:28

您可以使用ERB在作业中呈现模板。

代码语言:javascript
复制
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的信息

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25099926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档