Попадание в ошибку OutOfBoundsError из-за неправильного понимания правильного синтаксиса конфигурации (который также может быть побочным продуктом устаревшего синтаксиса).
В руководстве предлагается поиск класса по WillPaginate.стилизованные параметры.Имея много полей для рисования, модель определяется как
class AziendaSearch < BaseSearch
set_per_page 10000
accept :terms
end
, set_per_page был переведен на высокий уровень, потому что, если я установлю его на целевое значение 100, ссылки will_paginate не будут отображаться.
контроллер может быть излишне запутан, чтобы включить параметр упорядочения, и, следовательно, привести к двухэтапному процессу:
@azienda_search = AziendaSearch.new params
@results = @azienda_search.search
@aziendas = Azienda.order('province_id ASC').where('id IN (?)', @results).paginate :page => params[:page], :per_page => 100
представление разбивается на основе @aziendas:
<%= will_paginate @aziendas, :previous_label => "precedente ", :next_label => " successiva" %>
Я подозреваю, что модель поиска не установлена должным образом, но синтаксис для меня не очевиден, учитывая указания руководства.page params[:page]
определенно не работает ...
Обновление BaseSearch
является Sphinx-методом и фактически было унаследовано от более старой версии этого приложения (rails2.Икс...).Так что это может зависать, создавая всякую синтаксическую путаницу.
Фактически, следуя руководству, я теперь совершенно не уверен в том, как лучше всего сделать эти заявления.Нужно ли определять отдельный класс для AziendaSearch?Если нет, то где должен быть вызван блок Azienda.search
в контроллере как таковом?
@azienda_search = Azienda.search(
:max_matches => 100_000,
:page => params[:page],
:per_page => 100,
:order => "province_id ASC"
)
@results = @azienda_search.search