ruby - 稍后通过 delayed_job 呈现 View 的输出

标签 ruby ruby-on-rails-3.2

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

我需要这样做,因为我要将文档发送到 DocRaptor,而不是将标记/html 存储在数据库列中,我想存储记录 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/

最佳答案

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

Rails 3 > Rendering views in rake task

关于ruby - 稍后通过 delayed_job 呈现 View 的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16972797/

相关文章:

ruby-on-rails-3.2 - 由于 unf_ext (0.0.5) gem,捆绑安装失败

jquery - 如何在 Rails 3.2.8 中使用 Jquery?

ruby - 为什么 Integer.respond_to?( :even? ) 返回 false?

ruby - 如何比较两个 CSV 文件中的数据

ruby - 如何以编程方式获取 selenium、selenium 服务器或 selenium webdriver 的运行版本?

ruby-on-rails - 如何在 en.yml 上格式化带有 “th” 后缀的日期?

javascript - 如何在 js.erb 文件中构造绝对 URL?

ruby-on-rails - rails : Too Few Arguments

ruby - 有很多通过,堆栈级别太深?

ruby - 奇数顺序排列