2010-12-16 4 views
0

정말 이에 대한 도움이 필요합니다. 나는 인터넷을 검색했지만 내 문제에 대한 하나의 해결책을 찾지 못했습니다.양식에 검색을 수행 -보기에 표시된 필터링 된 항목 목록에서 검색

다소 복잡한 find_by_sql을 사용하여 검색된 일부 레코드를 표시하는 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 

가 지금은 사용자가 검색 필드에 입력 된 값에 따라 그 표시 항목을 필터링 할 수 있습니다 내 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