http://rorwiki.hellopen.net/index.php?title=%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8ajax%E5%81%9A%E5%AE%9E%E6%97%B6%E6%9F%A5%E8%AF%A2

1.引入javascript類庫。
使用<%=define_javascript_functions%>或者<%= javascript_include_tag? :defaults %>

2.往controller新增一個方法list

def list
? if @params['search']
??? @items_pages, @items = paginate :items,
????? :order_by => 'description',
????? :conditions => [ 'LOWER(description) LIKE ?',
??????? '%' + @params['search'].downcase + '%' ],
????? :per_page => 20
??? @mark_term = @params['search']
??? render_without_layout
? else
??? @items_pages, @items = paginate :items,
????? :order_by => 'description', :per_page => 20
? end
end


3.新建一個list.rhtml
<div id="target_id">
</div>
<input id="search" name="search" type="text" value="">
<%= observe_field 'search',? :frequency => 0.5,
???????? :update => 'target_id', :url =>
???????? { :controller => '<controller>', :action=> 'list' },
???????? :with => "'search=' + escape(value)" %>

4.使用ajax來分頁,在list.rhtml頁面增加

<%= link_to_remote(h('< Previous'),
???????? :update => 'target_id',
???????? :url => { :page => paginator.current.previous }) %>
-
<%= link_to_remote(h('Next >'),
???????? :update => 'target_id',
???????? :url => { :page => paginator.current.next }) %>

?