Я создаю приложение, которое использует модели через 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, который выглядит многообещающе, но он новый ( и построен на основе этой ссылки выше).... примечательно то, что он, похоже, не обрабатывает какие-либо коллекции, но для одного ресурса хорошо находит/кеширует.