Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 渲染视图';s稍后通过延迟的_作业输出_Ruby_Ruby On Rails 3.2 - Fatal编程技术网

Ruby 渲染视图';s稍后通过延迟的_作业输出

Ruby 渲染视图';s稍后通过延迟的_作业输出,ruby,ruby-on-rails-3.2,Ruby,Ruby On Rails 3.2,如果我呈现html,我会将html发送到浏览器,这非常有效。但是,当在模块或类中被调用时,如何获得路由的响应(html) 我需要这样做,因为我正在将文档发送到DocRaptor,而不是将标记/html存储在db列中,我希望在作业执行时存储记录ID并创建标记 一个可能的解决方案是使用Ruby的HTTP库、HttpParty或wget或其他东西,打开路由并使用response.body。在这么做之前,我想我应该问问周围的人 谢谢 --更新-- 以下是我最终的结果: 快速提示-如果有人这样做并且需要他

如果我呈现html,我会将html发送到浏览器,这非常有效。但是,当在模块或类中被调用时,如何获得路由的响应(html)

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

一个可能的解决方案是使用Ruby的HTTP库、HttpParty或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})
链接:

检查此问题,它包含答案中可能需要的代码:


Quick note-简单地说,我以后如何从模块或类中“呈现到字符串”。因此,与其在控制器中呈现_到_字符串,我以后如何通过DJ实现相同的输出。您可以提供任何启动代码吗?我想这可以做到-谢谢!我只需要在正确的方向上轻推一下。快速提示-如果有人这样做并且需要他们的助手方法,您需要扩展ActionView ApplicationHelper