稍后通过delayed_job渲染视图的输出

时间:2013-06-06 21:50:40

标签: ruby ruby-on-rails-3.2

如果我渲染html,我将html添加到浏览器中,效果很好。但是,如何在模块或类中调用路径的响应(html)。

我需要这样做,因为我将文档发送到DocRaptor,而不是将标记/ html存储在db列中,而是希望存储记录ID并在作业执行时创建标记。

一种可能的解决方案是使用Ruby的HTTP库,Httparty或wget等,然后打开路径并使用response.body。在这样做之前,我以为我会四处询问。

谢谢!

- 更新 -

这就像我最终选择的那样:

快速提示 - 如果有人这样做并且需要他们的帮助方法,则需要使用ApplicationHelper扩展AV:

这就像我最终做的那样:

av = ActionView::Base.new()
av.view_paths = ActionController::Base.view_paths
av.extend ApplicationHelper #or any other helpers your template may need
body = av.render(:template => "orders/receipt.html.erb",:locals => {:order => order})

链接: http://www.rigelgroupllc.com/blog/2011/09/22/render-rails3-views-outside-of-your-controllers/

1 个答案:

答案 0 :(得分:1)

检查这个问题,它包含了答案中可能想要的代码:

Rails 3 > Rendering views in rake task