После головных болей с ThinkingSphinx и Solr / Sunspot мы опробуем ElasticSearch и Tire в качестве нашего поискового бэкенда, но я столкнулся с проблемой.
Вот моя команда поиска в контроллере:
@results = Item.search params[:search], :page => ( params[:page] || 1 ), :per_page => 20
И это проблемный раздел представления:
<%= page_entries_info @results %>
Я получаю сообщение об ошибке
undefined method `offset' for #<Tire::Results::Collection:0xa3f01b0>
, но только если результаты более чем на одну страницу. Если возвращено менее 20 предметов, они будут показаны в порядке.
Единственная похожая проблема, о которой я узнал в другом месте, была решена путем передачи параметров :page
и :per_page
в функцию search
, но я уже делаю это, но безрезультатно.