У меня есть страница, которая используется для поиска в списках путем отправки данных с помощью предоставленных форм.Параметры формы отправляются через ajax (пост-запрос), в таблице поиска создается новая запись, а затем отображаются списки (динамически, на той же странице, с которой отправляется форма) с помощью действия show
для этой записи.
Результаты содержат ссылки на страницы, предоставляемые kaminari, например:
<%= paginate matches,
:params => {:controller => 'searches',
# I have to specify the id because my searches are stored in the database
:action => 'show', :id => search.id},
:remote => true %>
Обратите внимание, что ссылки на страницы динамически добавляются на страницу.Поэтому, когда я выполняю новый поиск и получаю новые списки, сервер повторно отображает ссылки на страницы.
Вот мое действие show в контроллере поиска
def show
@search = Search.includes(:rate).find(params[:id])
@matches = @search.matches.order(sort_column + " " + sort_direction).page(params[:page])
respond_to do |format|
format.html
format.xml { render :xml => @matches }
format.js
end
end
По какой-то причине я могуНе могу понять, все параметры, которые я использую в формах поиска (и их много), прикрепляются к URL-адресам разбивки на страницы kaminari, давая мне hrefs вроде этого:
<a href="/searches/145?massive parameter list omitted" data-remote="true" rel="next">2</a>
Список пропущенных параметровнастолько длинен, что слишком велик, чтобы быть действительным GET-запросом, и я получаю 414
код ошибки.
Как видно из результатов поиска -> показанного выше действия, он не нужен для нумерации страницчтобы добавить всю эту информацию.Все, что им нужно, это маршрут, идентификатор и номер страницы.
Как мне предотвратить это?
Кстати, я попытался установить :method => :post
в настройках kaminari.Кажется, не помогает.Я использую Kaminari v 0.12.4 (последний) и Rails 3.1.rc4.