Как вы сортируете, используя Thinking Sphinx on Rails 3?
Я пытаюсь выполнить простую сортировку, используя параметры, переданные моему контроллеру. Я следую за документацией на веб-сайте Searching & Thinking Sphinx и встречаю следующую ошибку. Что я делаю не так?
Следующий объект @ places является экземпляром класса think Sphinx.
@places = Place.search(params[:q], :order => :created_at)
ThinkingSphinx::SphinxError (index place_core: sort-by attribute 'created_at' not found):
1 ответ:
Вам нужно добавить поля, по которым вы хотите выполнить поиск. Затем для сортировки по полю вам нужно отметить его как сортируемый в вашей модели, или вам нужно добавить атрибут в методе define_index, как описано здесь.
Для вашей модели, что-то вроде этого:
class Place < ActiveRecord::Base # ... define_index do # fields indexes subject, :sortable => true indexes content indexes author.name, :as => :author, :sortable => true # attributes has created_at end # ... end
В этом примере субъект, автор и created_at сортируются.