2010-12-16 48 views
0

我真的需要一些幫助。我搜索了互聯網,但無法找到解決我的問題的單一解決方案。在窗體上執行搜索 - 在視圖中顯示的條目過濾列表中搜索

我有一個index.html.erb文件,它顯示了一些使用相當複雜的find_by_sql檢索到的記錄。請看下面的代碼:

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 

現在我想包括我的index.html.erb頂部的搜索領域,這將允許用戶過濾基於搜索字段中輸入的值的顯示的條目。

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 2010-12-17 12:26:18