2005-09-01
[Rails] pagination (簡単なページ管理) を使ってみた
<URL:http://wota.jp/ac/?date=20050629#p01> を参考にして改造。
# controller def list @pages, @entries = paginate(:entry, :per_page => 30, :order_by => 'bakaid DESC') end
# view <ul><% @entries.each do |entry| %> <li><%= entry.month %>月<%= entry.day %>日… <%= link_to(entry.title, {:action => "view", :id => entry}) %></li> <% end %></ul> <%= link_to "前を表示", { :page => @pages.current.previous } if @pages.current.previous %> <%= link_to "次を表示", { :page => @pages.current.next } if @pages.current.next %>
mixi 日記風に改造。
def list @pages, @entries = paginate(:entry, :per_page => 30, :order_by => 'bakaid DESC') @begin_idx = @pages.items_per_page * @pages.current.previous.to_i @end_idx = @pages.current.next ? @pages.items_per_page * (@pages.current.next.to_i - 1) : @entries.size + @pages.items_per_page * @pages.current.previous.to_i end
view にはこの一行を追加。
<%= "#{@begin_idx + 1}件〜#{@end_idx}件を表示" %>
動作サンプル (もう動いてないかも)。おぉ。