来自 rake 任务的 render_to_string

2024-01-01

我想使用 Rake 任务来缓存我的站点地图,以便请求sitemap.xml不会花很长时间。这是我到目前为止所拥有的:

  @posts = Post.all

  sitemap = render_to_string :template => 'sitemap/sitemap', :locals => {:posts => @posts}, :layout => false
  Rails.cache.write('sitemap', sitemap)

但是当我尝试运行它时,出现错误:

undefined local variable or method `headers' for #<Object:0x100177298>

如何从 Rake 中将模板渲染为字符串?


我是这样做的:

  av = ActionView::Base.new(Rails::Configuration.new.view_path)
  av.class_eval do
    include ApplicationHelper
  end

  include ActionController::UrlWriter
  default_url_options[:host] = 'mysite.com'

  posts = Post.all

  sitemap = av.render 'sitemap/sitemap', :posts => posts
  Rails.cache.write('sitemap', sitemap)

请注意,我将模板转换为部分模板以使其正常工作

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

来自 rake 任务的 render_to_string 的相关文章

  • Rails - 用于集合集的单选按钮

    我有以下输出选择框 br 替代输出单选按钮的 Rails 方法是什么 对于单选按钮 您必须自行迭代并输出每个单选按钮及其标签 事实上这真的很容易
  • 在rails生成脚手架中跳过JSON格式

    当您使用类似命令生成 Rails 脚手架时rails g scaffold Thing有什么办法可以避免变得烦人吗 respond to do format format html index html erb format json re
  • Rails 3 SSL 路由从 https 重定向到 http

    这个问题与此相关SO 问答 rails 3 ssl deprecation https stackoverflow com questions 3634100 rails 3 ssl deprecation建议使用routes rb和类似的
  • Ruby on Rails:Cucumber:如何点击打开新窗口的链接?

    我有一个在新窗口中打开的链接 我需要测试该新窗口中的应用程序部分 任何建议将不胜感激 定义一个包含以下代码的步骤 page driver browser switch to window page driver browser window
  • Rails 中多个模型的最佳实践 - 嵌套/非嵌套和验证

    笔记 根据布莱恩的评论 来自如何以 Rails 形式处理多个模型 https stackoverflow com questions 892624 how to handle multiple models in a rails form
  • ror 中的多种布局

    昨天刚开始使用 Ruby on Rails 在我的 layouts application html erb 中 我有 div class conta div
  • 创建费用前验证 CVC 代码

    我正在尝试检查用户输入的 cvc 代码 我已经存储了条带 customer id 和条带 card id 我想在向用户收费之前验证 CVC 代码 以下是创建费用的代码 charge Stripe Charge create amount g
  • 何时使用node.js、sinatra、rails? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 这 3 种语言 框架的最佳用途是什么 混合所有 或 2 个 有用吗 如果您正在构建一个完整的 Web 应用程序 您可能应该使用 Rails 因为
  • 从 Rails 3.1.3 升级到 Rails 3.2.1。资产错误

    我尝试将应用程序从 Rails 3 1 3 升级到 Rails 3 2 1 但资产出现问题 我有这样的错误 ActionController RoutingError No route matches GET assets logos op
  • RailsAdmin 中具有 join_table 和 has_many :through 的模型的路由错误

    所以我有3个模型 category product category products 这是我的category rb attr accessible name has many category products do def with
  • URL 路由中的点与命名空间 Rails 3.1

    我有这个路线 rb root to gt posts index devise for users controllers gt omniauth callbacks gt users omniauth callbacks resource
  • 启动同一作业的多个延迟作业进程

    我在运行多个工作人员的设置中使用延迟作业 就我的问题而言 这并不重要 但假设我运行 10 个工作线程 当前在开发模式下执行此操作 我遇到的问题是两个不同的工作人员有时开始处理同一项工作 调用我的工作对象上的执行方法 据我所知 延迟作业正在使
  • 捆绑包安装无法离线工作

    我得到了这个问题 我想已经安装了捆绑器 因为我无法在 RoR 中创建应用程序时捆绑安装 也无法直接在项目中捆绑安装 如果您遇到任何问题并找到解决方案 请帮助我 enter code here run bundle install Fetch
  • 为什么 Rails 应用程序在底部显示数据库信息?

    我创建了一个博客 每当我添加帖子时 帖子索引页面底部总会显示数据库中的记录列表 home html erb 像这样
  • 黄瓜与 RSpec

    我想开始深入研究 BDD 我以前从未使用过 TDD 现在 不确定我是否应该从学习 RSpec 开始 然后跳到 Cucumber 或者直接使用 Cucumber 我一直在互联网上阅读有关两者的内容 在我看来 Cucumber 可能是 RSpe
  • Rails 3 分页,will_paginate 与 Kaminari

    我的设置 Rails 3 0 9 Ruby 1 9 2 我正在为我的应用程序寻找分页解决方案 发现有一个新的宝石Kaminari与值得信赖的人相比will paginate 看起来像will paginate有一段时间没有更新了 但后来又以
  • Rails 中的助手 - 构建 html 字符串时的最佳方法是什么?

    我通常这样写助手 def bloco vazio texto btn args titulo content tag h3 Vazio p content tag p texto content tag div titulo tag hr
  • 如何使用国家宝石

    我正在尝试使用国家宝石 https github com hexorx countries 但是在我捆绑安装这个 gem 后 有一些关于如何合并它的基本问题 我是否需要创建新的控制器 模型才能访问这些国家 地区 如何创建一个简单的选择下拉列
  • Rails 如何使用 send_data 导出数据,然后重定向到新页面?

    我有一个 Rails 应用程序 允许用户下载生成的 CSV 文件 下载文件后 我想将用户重定向到新的 URL 或操作 有没有在 send data 之后进行重定向的技巧 我想做这样的事情 这不起作用 send data output typ
  • “heroku”命令存在于以下 Ruby 版本中:

    我在使用 heroku 工具带时遇到了重大问题 我正在使用 cedar 14 堆栈 当我尝试使用不是的 ruby 版本时ruby 2 0 0 dev我收到这个错误 rbenv heroku command not found The her

随机推荐

  • 从 docker 容器访问 localhost

    我有一个任务要在 localhost 8081 localhost 8082 和 localhost 8083 上设置 3 个 docker 容器 我已经成功完成了 然后最后一个容器是 localhost 8080 上的 java 应用程序
  • Matplotlib 在第一帧后停止动画

    我正在尝试为两个子图设置动画 每个子图都有多行 我在用Matplotlib http matplotlib org 我正在使用FuncAnimation http matplotlib org api animation api html
  • 为什么二进制序列化要求将对象标记为可序列化?

    我正在使用 xml 序列化程序 但是当我切换到二进制序列化时 它会抛出异常 运行时错误 dotNet 运行时异常 程序集 MyTypes Version 1 0 0 0 Culture neutral PublicKeyToken null
  • 为什么显式调用基移动构造函数实际上调用基复制构造函数? [复制]

    这个问题在这里已经有答案了 我试图通过派生类 move ctor 显式调用基类 move ctor 但是 惊喜 这实际上调用基类复制构造函数而不是基类移动构造函数 我在用着std move 对象上的函数以确保派生的移动向量被调用 代码 cl
  • 使用 RxJava、Retrofit 上传进度

    在我的项目中 我使用 MVP 设计模式 RxJava RxAndroid 和 Retrofit 来使用 API 调用 目前 我正在寻找在发送图片时尝试显示上传进度的解决方案 我已经看到了几种可能的实现 但恐怕它们不适合我的实现 以下是我如何
  • 从WebWorker同步获取数据?

    虽然我知道 JavaScript 本质上是单线程的 并且通常不赞成这样的事情 但我想知道是否有任何方法可以让 WebWorker 等待 直到主线程提供一些数据 而不破坏 WebWorker 的调用堆栈 由于这是一个有趣的项目 我可以使用新技
  • 创建文本行,'\n'.join(my_list) 缺少尾随换行符

    我想将 N 个字符串连接在一起 每个项目一行 my list one two three lines n join my list 不幸的是 我需要在每行末尾添加一个换行符lines 在上面的解决方案中 最后一行缺少换行符 我使用Pytho
  • 如何定期更改背景图片?

    我想在一秒计时器上更改我的应用程序的背景图像 更改两个图像之间的背景 我知道如何在按下按钮时更改图像 但我很难找到计时器的代码 我应该做什么 Thanks 你可以使用View postDelayed Runanble r long dela
  • 使用 TestCafe 时如何与 Windows 桌面交互

    我需要使用 TestCafe 在 Electron 应用程序中执行操作 但我还需要在 Windows 桌面上执行操作 例如单击任务栏 启动其他应用程序 由于 TestCafe 只能与浏览器窗口中的内容进行交互 因此我尝试使用 Appium
  • Javascript 文件无法访问 jstl

    我的 jstl 代码位于一个 javascript 文件中 该文件包含在我的 jsp 页面中 我遇到的问题是 当我在 jsp 页面内的脚本中编写 jstl 代码时 它工作正常 但是当我在单独的js文件中编写相同的代码时 jstl代码根本不起
  • 如何使用 jQuery 从 dom 中删除空元素?

    WordPress 文字编辑器吐出空内容 p 像这样的标签 p p nbsp p 我想针对所有 p with nbsp 并删除它们 我相信我必须使用contains and remove功能 但我不确定这段代码是否会删除 p p 标签仅 n
  • 从匿名内部类中突破方法

    我有一个方法 void someMethod String someString final String testAgainst for int i 0 i lt testAgainst length i if someString eq
  • 手机上无法播放背景视频?

    我制作了一个登陆页面 视频在表单的背景下播放 它在桌面上运行良好 但我使用 Chrome 在我的 Android 设备上检查 背景视频无法在其上播放 谁能帮我解决这个问题 这是我的链接fiddle http jsfiddle net Jam
  • 如何从 MySQL 数据库获取“印地语”文本(印度本地语言)?

    我已将印地语数据存储在 MySQL 数据库中 请参阅下图 现在我想获取该数据并显示在我的 JSP 页面上 但是当我尝试在 java 代码中获取数据时 我将文本转换为以下格式 UID Test upgrade 1 UID 159 1 UID
  • 物体的点状后边缘

    在我的 Android 应用程序中 我需要显示一个 3D 对象 这没问题 但前边缘应该是实心的 后边缘应该是虚线的 我需要有像图片上这样的东西 如何使用 OpenGL ES 1 或 2 实现它 我尝试过蒂姆的想法 使用深度缓冲区 它有效 但
  • 如何在 Angular2 中使用 httpparamserializer

    我正在尝试在 Angular2 中使用 httpparamserializer 我用谷歌搜索了很多 但这些例子仅适用于 Angular1 如下所示 如何注入 httpParamSerializer 以在 templateUrl 中使用 ht
  • 如何检查数据库中是否存在视图?

    如果数据库中存在某个视图 我需要执行一些 SQL 代码 我将如何检查视图是否存在 编辑 正在使用的 DBMS 是 Microsoft SQL Server 对于 SQL 服务器 IF EXISTS select FROM sys views
  • 屏蔽帐号以仅查看 DevExpress GridViewDataColumn 中的最后 4 位数字

    我需要添加 Mask DisplayFormatString 以仅查看 DevExpress GridViewDataColumn 中的最后 4 位数字 举例来说 如果真实帐号是123456789 然后它应该显示为 6789 你能帮我解决这
  • 在 Ubuntu 上安装 Node.js

    我正在尝试安装 Node jsUbuntu 12 10 https en wikipedia org wiki Ubuntu version history Ubuntu 12 10 28Quantal Quetzal 29 Quantal
  • 来自 rake 任务的 render_to_string

    我想使用 Rake 任务来缓存我的站点地图 以便请求sitemap xml不会花很长时间 这是我到目前为止所拥有的 posts Post all sitemap render to string template gt sitemap si