Строки запроса сохраняются на всех контроллерах по ошибке
У меня есть приложение 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 ответ
Я понял, что эти ссылки для всей моей навигации находятся в моем application.html.erb, поэтому любые параметры, которые я там использую, распространяются на все приложение. Я до сих пор не понял, почему. Я переместил эти ссылки в файл index.html.erb в work_orders, и теперь все остальное работает.