2010-12-16 8 views
0

私は本当にこれについていくつかの助けが必要です。私はインターネットを検索しましたが、私の問題に対する単一の解決策を見つけることができませんでした。フォームで検索を実行する - 表示された項目のフィルタリングされたリストの検索

かなり複雑なfind_by_sqlを使用して取得されたレコードを表示するindex.html.erbファイルがあります。今私は、ユーザーが検索フィールドに入力された値に基づいて、これらの表示されたエントリをフィルタすることができます私のindex.html.erbの上部にある検索フィールドを、含めたい

def index 
@refprobes = Refprobe.paginate_by_sql ["select * from ref_probe 
             where RPR_OID in 
           (SELECT DISTINCT RPR_OID 
           FROM REF_PROBE 
           JOIN ISH_PROBE ON RPR_OID = PRB_MAPROBE 
           JOIN ISH_SUBMISSION ON PRB_SUBMISSION_FK = SUB_OID 
           JOIN SEC_USER_PI ON USP_PI_ID = SUB_PI_FK 
           WHERE USP_USER_FK = " + session[:user_id]+ ")"], :page => params[:page], :per_page => 10 
end 

:以下のコードを参照してください。

def self.search(search) 
    if search 
    find(:all, :conditions => ['name LIKE ?', "%#{search}%"]) 
    else 
    find(:all) 
    end 
end 

上記のコードは、私がテーブルのすべてのレコードを検索したくないため、私の要件に適合しません。 index.html.erbに表示されているエントリだけに検索を制限したい。

どうすればいいですか?

あなたの助けを事前に多くの多くのおかげで..

答えて

1

scopes

+0

much..thisは私が必要なものだったので、ああはあなたに感謝を読んで! :) – Kim