ruby-on-rails - 如何从 Rails Observer/Model 调用 expire_fragment?

标签 ruby-on-rails ruby caching memcached

我几乎什么都试过了,但似乎无法使用 来自模型的 expire_fragment?我知道你不应该这样做 非 MVC,但肯定有很多方法可以做到。

我在 lib/cache_helper.rb 中用我所有的过期助手创建了一个模块, 在每个中只是一堆 expire_fragment 调用。我有我所有的 /app/sweepers 下的缓存清扫器设置,并有一个“include CacheHelper”在我的应用程序 Controller 中,因此在 通过 Controller 调用时应用程序工作正常。

然后事情是我有一些外部守护进程,尤其是一些 循环的 cron 任务调用一个调用特定任务的 rake 任务 方法。此方法进行一些处理并将条目输入到 模型,之后我需要使缓存过期。

执行此操作的最佳方法是什么,因为我无法在模型中指定缓存清扫器。 直截了当的观察员似乎是最好的解决方案,但随后 提示 expire_fragment 未定义等等,我什至 尝试将 ActionController 缓存类包含到观察者中 但这没有用。我喜欢关于如何创建解决方案的一些想法 为了这。谢谢。

最佳答案

免责声明:我的 rails 有点生锈,但这个或类似的东西应该可以工作

ActionController::Base.new.expire_fragment(key, options = nil) 

关于ruby-on-rails - 如何从 Rails Observer/Model 调用 expire_fragment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/393395/

相关文章:

ruby - 更多 ruby​​ 项目 euler #2 的方式

ruby-on-rails - 如何从模型在 Rails 3 中执行复杂的 Arel 查询

ruby-on-rails - Heroku 尝试在每次部署时安装 sqlite

javascript - [RAILS][Javascript] 在 javascript 中使用 Controller 变量是 "clean"吗?

php - 如何动态决定缓存什么

docker - Composer从缓存安装软件包

javascript - 禁用 ExtJs 应用程序的缓存

ruby-on-rails - Rails 迁移中默认值的常量

ruby-on-rails - 如何针对组合字段的唯一性对这种复杂的验证进行建模

sql - ActiveRecord 查询,按关联排序,has_many 的最后一个