如何缓存 Rails API 操作

问题描述

为操作进行缓存的最佳和正确方法是什么?

  • 我是否被迫ActionController::Base
  • 还有其他方法吗(保持 ActionController::API 存在)?
  • 我是否必须将缓存下推到模型层?

我看到 Rails 6(可能是之前的)不再支持开箱即用的动作缓存。缓存被提取一个 gem:actionpack-action_caching https://github.com/rails/actionpack-action_caching。我安装了它,但它似乎不适用于 ActionController::API,它仅适用于 ActionController::Base

class ApplicationController < ActionController::API

必须改为

class ApplicationController < ActionController::Base

然后,只有这样我才能缓存这样的动作:

    class CategoryController < ApplicationController
      caches_action :index
      def index
        @root_categories = Category.roots
      end
    end

提前致谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...