Порядок ThinkingSphinx через параметры URL - PullRequest
0 голосов
/ 06 марта 2012

Я использую ThinkingSphinx в приложении, и сейчас я не делаю никаких заказов на свои результаты. Тем не менее, я хотел бы сделать эту опцию по ссылке, по которой кто-то может щелкнуть страницу, и он просто передает ее через URL-адрес, чтобы «обновить» страницу с упорядоченными результатами.

В параметрах .search я попытался выполнить :order => params[:o], а затем в URL-адресе, передающем o=columnname, но это, похоже, не работает.

Просто чтобы заметить, что когда я жестко программирую порядок, он работает нормально, у меня нет проблем с индексацией / созданием сортируемой колонки БД. Я просто хотел бы сделать так, чтобы через аргумент URL отображались результаты в упорядоченном виде.

1 Ответ

1 голос
/ 08 мая 2012

Согласно документации Sphinx , поля, которые вы хотите использовать для сортировки, должны быть помечены как сортируемые.Атрибуты, определенные с помощью has, не должны быть помечены, потому что все атрибуты являются сортируемыми:

class Article
  ..
  define_index do
    indexes title, :sortable => true
    indexes author(:name), :as => :author, :sortable => true
    ..
  end

Затем можно использовать параметры :order и :sort_mode, чтобы определить порядок сортировки:

sort_order = params[:o]
Article.search "pancakes", :order => sort_order, :sort_mode => :desc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...