テーブルをレンダリングするためにいくつかのdbレコードを隠しておく必要がある1つのコントローラーにアクションがあります。
2番目のコントローラーに非常によく似たテーブルを埋めるアクションがあるため、それ自体のスタッシュ内のデータは、最初のコントローラーに必要なものと同じです。
両方のコントローラーで大量のコードを複製せずに、一方のアクションを使用してもう一方の隠し場所を埋める方法はありますか?
編集: コードリクエストに応じて(多少簡略化されていますが、要点を理解する必要があります):
Contoller::ShoppingCartで
sub data : Chained('base') PathPart('') CaptureArgs(0) {
my ( $self, $c ) = @_;
my $query = DBRESULTS;
my $count = 20;
$c->stash(
data => $items,
dataRowCount => scalar @$items,
totalCount => $count,
pageSize => $pageSize,
);
}
Controller::Vendorで
sub viewform : Chained('row') Args(1) {
my ( $self, $c, $view ) = @_;
$c->stash(
template => 'simpleItem.mas',
view => $view,
);
}
simpleItem.masテンプレートにはdata、dataRowCount、totalCount、pageSizeが必要なので、Controller :: ShoppingCart::pageDataからスタッシュを取得するのが理想的です。