Как передать коллекцию в действие контроллера (не GET) - PullRequest
0 голосов
/ 09 июня 2010

Я работаю с Ruby на рельсах 2.3.8, и идея состоит в том, чтобы реализовать функцию "Сортировка" для результатов поиска.

У меня есть представление (это часть):

<span>Sort by:</span>&nbsp;&nbsp; <%=  link_to 'MORE RELEVANT', search_filter_relevance_path %>

Файл маршрутов:

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

и действие контроллера (пока ничего не делая):

  def search_filter_relevance
    raise params.inspect
  end

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

Как я могу это сделать?

1 Ответ

1 голос
/ 09 июня 2010

Ваш вопрос несколько неполный.Было бы здорово, если бы вы могли предоставить подробности всего кода контроллера.Тем не менее я постараюсь ответить на него.Лучшим подходом было бы передать сам термин «поиск».Скажем, поисковый термин был сохранен в переменной экземпляра @search.

Ваш link_to должен быть:

<%= link_to 'MORE RELEVANT', search_filter_relevance_path(:search => @search) %>

И ваш маршрут должен быть:

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

и ваши действия:

def search_filter_relevance
  #You can access the search term using params[:search] and then reproduce the search results in a filtered form!
  #Example: If you using acts_as_solr to search your table(s).. (Can be applied to any other FTS plugin)
  #This sorts the results in ascending order
  #@result = Model.find_by_solr(params[:search], :order => "created_at ASC")
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...