나는 YUI auto-complete을 사용합니다. Yahoo, Flickr 및 기타 학년 A 웹 속성에 사용되는 산업력. 레일에서
성능
는 자동 완성에 최적의 성능을 위해 (사용 위젯 상관없이), 당신은 당신의 조회 정보에 대한 데이터베이스에서보기를 만들어야합니다. 예를 들어 자동 완성 기능을 사용하면 인간이 내용별로가 아니라 제목별로 빠르게 자신의 게시물을 검색 할 수 있습니다.
은보기 만들기 :
# Rake task code for creating a view
def self.search_posts #
execute "DROP Table IF EXISTS search_posts"
execute "DROP View IF EXISTS search_posts"
execute "CREATE View search_posts AS
SELECT
p.id
, p.title
, p.user_id
FROM posts p
ORDER BY p.title
"
end
는 또한 SearchPost을위한 액티브 모델을 만들 수 있습니다. 그것은 전망에서 당길 것이다.
그런 다음 컨트롤러 :
# Return the id's and title's matching the search query
# Assumptions: current user id is in Session[:user_id]
# Auto complete query is in params[:query]
SearchPost.find_all(
:conditions => ["user_id = ? and title LIKE ?",
Session[:user_id], "%#{params[:query]}%"]
).collect{|rec| {'title' => rec.title, 'id' => rec.id}.to_json
혜택
당신은 자동 완성 위젯을 보내는 Ajax 요청에 대한 DB를 통해 조회 된 데이터의 양을 최소화하고자합니다.브라우저에 포스트 제목과 ID의 전체 DB를 다운로드하여 로컬에 대해 검색 :
지역 자동 완성
또 다른 자동 완성 아키텍처는 플리커가 사용하는 것입니다. http://code.flickr.com/blog/2009/03/18/building-fast-client-side-searches/
+1을 참조하십시오. 나는 마지막 링크를 읽는 것을 추천한다, 그것은 매우 좋다. –