gpt4 book ai didi

ruby-on-rails - rails 3 : Caching *all* pages from a controller without manually adding them

转载 作者:太空宇宙 更新时间:2023-11-03 18:27:32 25 4
gpt4 key购买 nike

我们有一个 Rails 应用程序,其中有些页面可供所有人使用,有些页面只有在登录后才能看到。我们称它们为“公共(public)”页面和“应用程序”页面。由于公共(public)页面没有变化,我们希望为它们启用页面缓存。一种解决方案是手动添加

caches_page :index, ..

我们所有的公共(public) Controller 。但是,我不觉得这很方便而且是 Rubyish。我们所有的公共(public) Controller 都继承自一个 PublicController 类(一些共享方法、行为、..),所以我想将缓存方法也放在 PublicController 中,以便默认缓存所有公共(public) Controller (同样,公共(public)意味着或多或少是静态的内容)。然而不存在

caches_page :all

在 Rails 中。我想过用类似的东西

self.new.public_methods(false)

然后遍历它们并将它们添加到缓存中。但由于这是在 PublicController 中,因此没有列出任何实际操作。

有没有人有解决这个问题的好方法?或者手动方式是唯一的方式。

谢谢!

最佳答案

caches_page 的工作方式来看,您似乎可以添加一个过滤器来完成它:

after_filter :cache_page

关于ruby-on-rails - rails 3 : Caching *all* pages from a controller without manually adding them,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8991321/

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