Я создаю приложение, которое использует модели через API с ActiveResource.Я заметил, что
@resource ||= @resource.do a query
не работает, т.е. если я добавлю что-то подобное в свой контроллер, мое приложение все равно будет запрашивать API.Так что нет встроенного кэширования, к которому я привык с ActiveRecord.Время расширить свои знания и навыки, хорошо.
Я нашел это: http://injectisforwizards.com/blog/read-through-caching-of-activeresource/, и хотя я еще не понимаю этого 100%, для запросов на основе контроллера, которые выполняют .find, это выглядитработать.Но не для каких-либо пользовательских запросов, например:
@current_resource ||= Resource.get(:resource_all, :by_account=>@current_account.account_key)
(который попадает на пользовательский контроллер и запускает область видимости, возвращая коллекцию)
Я работаю через это и будуузнать, что происходит, но мне любопытно, если бы кто-то мог бы сказать мне более простые термины, что происходит, что я могу сделать, чтобы сгладить кэширование в ActiveResource, чтобы оно больше походило на ActiveRecord, как я могу настроить это для кэширования всех запросов и т. дЧто-нибудь действительно было бы полезно.
РЕДАКТИРОВАТЬ:
Я нашел это: https://github.com/Ahsizara/cached_resource, что выглядит многообещающе, но это ново (и построено на этой ссылке выше) ....Примечательно, что он, похоже, не обрабатывает какие-либо коллекции, но для одного ресурса хорошо находит / кэширует.