Как запрограммировать функцию сортировки - PullRequest
0 голосов
/ 20 мая 2010

Я работаю над Ruby на рельсах 2.3.4 и пытаюсь разработать функцию сортировки на странице поиска моего веб-сайта (ее URL-адрес /anuncios/buscar).

Я попытался создать «карту» для файла маршрутов:

map.search_filter_relevance "/anuncios/buscar", :controller => 'announcements', :action => 'search_filter_relevance'

Затем я написал это на виде:

<%=  link_to 'M&Aacute;S RELEVANTES', search_filter_relevance_path(@announcements) %>

И, наконец, я создал метод в контроллере, как указано в строке маршрутов:

  def search_filer_relevance
    raise params.inspect
  end

Прежде всего, поскольку я сортирую результаты поиска, я хотел бы сохранить их в их общедоступной переменной, называемой @announcements. Пожалуйста, помогите мне сделать это.

Другое дело, что при нажатии на ссылку я получаю сообщение об ошибке из-за попытки доступа к действию Show вместо search_filter_relevance, как указано в маршрутах. Почему это происходит?

EDIT:

Похоже, у меня конфликт между некоторыми строками в файле rout.rb.

Там более одной строки, которая вызывает один и тот же путь. Например:

  map.search "/anuncios/buscar", :controller => 'announcements', :action => 'search'
  map.power_search "/anuncios/buscar", :controller => 'announcements', :action => 'power_search'
  map.search_filter_relevance "/anuncios/buscar", :controller => 'announcements', :action => 'search_filter_relevance'

Поэтому, если я нажму на ссылку «Сортировка», я буду перенаправлен на действие «Поиск» вместо «search_filter_relevance». Но если я изменю его путь на другое (например, «anuncios / buscar_2»), он выполнит действие, которое я хочу, но попросит создать для этого шаблон «buscar_2», а я не хочу делать это.

Я просто хочу иметь кнопку ссылки, по которой при нажатии таблица сортируется. Вот и все.

Есть идеи?

1 Ответ

1 голос
/ 20 мая 2010

Ошибка в том, что вспомогательный метод маршрута search_filter_relevance_path.

Вы можете запустить rake routes, чтобы увидеть все маршруты и методы, которые вы установили.

Что касается сортировки, searchlogic уже существует, поэтому у меня должна быть действительно веская причина для изобретения колеса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...