1ページにリスト表示する件数をカスタマイズする

Catalystでよくある感じの「最新5件だけとってきて表示したい」みたいなのってどうやるんだろうと思い調べました。

sub index : Private {
  my ( $self, $c ) = @_;
  my $rs = $c->model('DBIC::Product');
  $rs->{attrs}->{rows} = 5;
  $c->stash->{list} = [$rs->page(1)->all];
  $c->stash->{template} = 'index.tt';
}

DBIx::Class::ResultSetのpageでは1ページあたりのデフォルト件数(rows)は10件に設定されているので、こっちから件数を渡して上書きしてやるという感じです。

結構BKっぽいのかもしれないけど、とりあえず思いつくのはこんなところです。