2011-07-20 22 views
0

私のRailsアプリケーションのために特別な検索を実装する際に問題があります。私はあなたが検索フォーム(例えば、 "Ross、Adam、Jake"であるクエリ)でユーザのセットを検索することができ、ユーザがロックを解除したすべての一般的な成果を返す達成システムに取り組んでいますユーザーのRoss、Adam、Jakeのすべてが「You are winner!」という成果を挙げている場合)。私は3つのテーブルを持っています。一つは成果のためのテーブル、もう一つはユーザのテーブル、そしてjoinテーブルです。私たちは協会などをテストしたので、そのことが分かっています。Railsで検索結果を返す

私の最初のアイデアは、検索用語を配列に入れて、配列内の各項目の検索結果を取得し、それぞれの「検索結果配列」に配置することでした。次に、検索結果配列1の各項目を調べて、他の結果配列の両方に表示されているかどうかを確認しました。 3つの検索結果配列すべてに表示されるオブジェクトは、返され、ページに表示されます。

私のコードをたくさん書かずにこれを実装する簡単な方法はありますか?私が知るべきいくつかの機能がありますか?どんな助けもありがとう!

+0

はあなたがスフィンクスに見ているRubyとRailsのと簡単にSolrの統合を可能にする - http://sphinxsearch.com/あなたは、これは使用して参加し、find_by_sqlを使用してSQLを書いて行うことができます – KMC

+0

アクティブなレコードを呼び出します。 – naren

答えて

0

まあ、Ransackとその前身(MetaSearch)は、複雑な検索フォームを作成するのに便利な宝石です。

一般的には、配列内のユーザーIDに異なる成果IDを選択するようなことをしたいと思います。私の頭の上から私はあなたがどのようにそれを書くべきかは分かりません。他の人は知っているかもしれません。

MetaSearch(より確立されている)のドキュメントを見て、Ransackをチェックしないと(より高度な)パターンに合っているかどうかを確認してください。

0

ユーザー名にオートコンプリートプラグインを使用し、その名前を瞬時にidsに変換することができます。これにより、後でバックエンドのユーザー名をidsに変換する必要がなくなります。

一般的な成果を得るには、ユーザーが1回の達成度を持つことができれば、結果を結合表に集約し、実績IDで結果を数える方法があります。

さらに詳細な回答を提供することができます。 :)

0

あなたがあるSunspotを使用することができますすることは

関連する問題