У меня есть сайт с Thinking Sphinx, настроенный для возврата результатов поиска по именам продуктов, тегам, описаниям и т. Д. Работает нормально.
Однако, когда я получаю группу результатов поиска из TS, япри попытке получить tag_counts из Acts_as_Taggable_On выдается ошибка «no method».Я обнаружил, что ошибка распространяется на ряд ситуаций, когда я мог бы вызвать метод tag_counts для коллекции теговых элементов.
Эти работы:
Owner.first.products.all.tag_counts
Product.where(:color => 'white').tag_counts
Product.first.tag_counts
Но это не так:
Product.all.tag_counts
Product.search('white').to_a.tag_counts
(Последний вызывает поиск Thinking Sphinx, который возвращает коллекцию поиска TS.)
Они возвращаются с некоторым вариантом этой ошибки:
NoMethodError: undefined method `tag_counts' for #<Array:0x00000101585280>
У меня есть смутное представление о том, что это своего рода прокси-метод, в котором он правильно связывается с первыми вызовами, но не с последними.
У всех есть предложения о том, как я могу убедиться, что массив тегированных объектов имеет tag_countsметод доступен?