活动模型序列化器 - 未定义的方法 'cached'
active model serializers - undefined method 'cached'
我正在尝试使用活动模型序列化器来缓存 JSON,使用我在那里看到的许多指南,他们都建议使用内置缓存机制,方式如下:
class CacheSerializer < ActiveModel::Serializer
cached
delegate :cache_key, :to => :object
end
这是我的基本序列化器,所有其他可缓存序列化器都应该继承它,但是,我总是得到以下信息:
undefined local variable or method `cached' for CacheSerializer:Class
查看文档,我也尝试使用缓存键:'bla-bla',它提供了相同的未定义方法错误。
我启用了缓存并配置了缓存存储,缓存在应用程序的所有其他部分都有效。
有什么想法吗?
来源:
https://robots.thoughtbot.com/fast-json-apis-in-rails-with-key-based-caches-and
缓存活动模型序列化程序版本 >= 0.9.0
由于重写,较新版本的 AMS >= (0.9.0) 尚未实现缓存,因此您可以使用 Rails 内置缓存功能。
def index
trips = Trip.all
json = cache ['v1', trips] do
render_to_string json: trips
end
render json: json
end
默认情况下它不会在开发中工作,因为开发模式禁用缓存。
您可以将配置行从 production.rb 复制到 development.rb 以测试它是否正常工作:
config.action_controller.perform_caching = 真
issue Github 上也有关于此的文件。
我正在尝试使用活动模型序列化器来缓存 JSON,使用我在那里看到的许多指南,他们都建议使用内置缓存机制,方式如下:
class CacheSerializer < ActiveModel::Serializer
cached
delegate :cache_key, :to => :object
end
这是我的基本序列化器,所有其他可缓存序列化器都应该继承它,但是,我总是得到以下信息:
undefined local variable or method `cached' for CacheSerializer:Class
查看文档,我也尝试使用缓存键:'bla-bla',它提供了相同的未定义方法错误。
我启用了缓存并配置了缓存存储,缓存在应用程序的所有其他部分都有效。
有什么想法吗?
来源: https://robots.thoughtbot.com/fast-json-apis-in-rails-with-key-based-caches-and
缓存活动模型序列化程序版本 >= 0.9.0
由于重写,较新版本的 AMS >= (0.9.0) 尚未实现缓存,因此您可以使用 Rails 内置缓存功能。
def index
trips = Trip.all
json = cache ['v1', trips] do
render_to_string json: trips
end
render json: json
end
默认情况下它不会在开发中工作,因为开发模式禁用缓存。
您可以将配置行从 production.rb 复制到 development.rb 以测试它是否正常工作:
config.action_controller.perform_caching = 真
issue Github 上也有关于此的文件。