2012-06-08 1 views
0

Я пытаюсь получить раздел «Что нового» в моем приложении Rails, в котором учитываются новые записи, созданные для разных таблиц, которые не разделяют никаких отношений. Единственное, что у них есть, это то, что все они имеют поле created_at, которое я буду использовать, чтобы определить, действительно ли они «новые», а затем я хочу сортировать результаты по этому общему полю. Я пытался сделать это с SunSpot, но я не мог понять, как сделать использование результирующего набора, возвращенного из поиска солнечных пятен ...Rails 3 Поиск нескольких моделей by created_at с помощью sunspot

, например, в моих загрузок и статьи моделей у меня есть:

searchable do 
    time :created_at 
end 

и в моих поисках действия я сделаю это:

@updates = Sunspot.search(Upload,Article) do 
    with(:created_at).greater_than(1.hour.ago) 
end 

Который, похоже, что-то вернуть, если я делаю @ updates.total возвращает количество записей, я ожидал найти. Помимо этого, я не уверен, как на самом деле использовать записи. То, что я хотел бы сделать, это отправить @updates в представление и определить тип модели каждой записи, а затем приступить к распечатке соответствующей информации, то есть имен, описаний, информации о родительской/дочерней записи (например, upload.user.username).

Возможно, я ошибаюсь, возможно, есть лучший вариант, чем солнечный пятно для простого поиска, который я пытаюсь выполнить?

ответ

2

См. readme, чтобы узнать, как использовать результаты поиска. Метод, который вы ищете, - это «результаты», которые дадут вам первые 30 результатов, по умолчанию:

@updates.results # array of first 30 results 
+0

Спасибо, Салил, функция результатов - именно то, что мне нужно. Мне нужно будет поближе рассмотреть этот вопрос. – Noz