0

関連を共有しないさまざまなテーブルに対して作成された新しいレコードを考慮して、Rails アプリで「新機能」セクションを機能させようとしています。それらに共通していることの 1 つは、それらすべてに created_at フィールドがあることです。これを使用して、それらが本当に「新しい」かどうかを判断し、その共通フィールドで結果を並べ替えたいと考えています。Sunspot でこれを試してみましたが、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) を出力することです。 )。

私はこれをすべて間違っているかもしれません。おそらく、私が実行しようとしている単純な検索には、太陽黒点よりも優れたオプションがありますか?

4

1 に答える 1

2

検索結果の利用方法の詳細については、readmeを参照してください。探しているメソッドは「results」で、デフォルトでは最初の 30 件の結果が得られます。

@updates.results # array of first 30 results
于 2012-06-11T09:40:04.367 に答える