строки запроса сохраняются на всех контроллерах по ошибке - PullRequest
0 голосов
/ 21 марта 2012

У меня есть приложение rails 3, в котором я передаю несколько строковых запросов, таких как:

<%= link_to "All", work_orders_path(params.merge({:status_filter => "E", :sort_filter => params[:sort_filter]})) %>

В моих представлениях для work_order все работает настойчиво, для чего предназначены эти параметры (сортировка и фильтрация существующихрабочие задания.)

Проблема, с которой я сталкиваюсь, заключается в том, что когда я иду, чтобы добавить новое рабочее задание с link_to или пытаюсь link_to к другому контроллеру, оба :status_filter и :sort_filter обасохраняется, вызывая ошибку маршрутизации.

Например, когда я хочу нажать на индекс, чтобы просмотреть всех техников (из которых они не применимы, я получаю

Нет совпадений маршрутов {: sort_filter=> nil,: status_filter => "E",: controller => "technicians"}

Я везде искал решение, но пока не смог найтивсе, что я пытался params.delete, без игры в кости. Я знаю, что должен быть простой способ удалить их из URL в link_to, но я не могу понять это.

1 Ответ

0 голосов
/ 23 апреля 2012

Я выяснил, что эти ссылки для всей моей навигации находятся в моем application.html.erb, поэтому любые используемые мной параметры передаются по всему приложению. Я до сих пор не понял, почему. Я переместил эти ссылки в файл index.html.erb в work_orders, и теперь все остальное работает.

...