gpt4 book ai didi

ruby-on-rails - 来自 rake 任务的 render_to_string

转载 作者:行者123 更新时间:2023-12-04 03:31:02 31 4
gpt4 key购买 nike

我想使用 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)

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

关于ruby-on-rails - 来自 rake 任务的 render_to_string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2619823/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com