コントローラで生成した$c->stash->{month}の値をテンプレートツールキットを使用して、HTMLに繰り返しで渡したいのですが、1つの値しか渡すことができません。
繰り返しで渡すためにHTMLのコードをどのように書けばいいかご教示頂けますと幸いです。
よろしくお願いいたします。
HTML
1<form class="form-horizontal" method="post"> 2 <div class="form-group"> 3 <label for="number" class="control-label col-xs-5">年月</label> 4 <div class="col-xs-3"> 5 <select class="form-control" id="number" name="yyyymm"> 6 <option value="">選択してください</option> 7 [% FOREACH month %] 8 <option value="[% month %]">[% month %]</option> 9 [% END %] 10 </select> 11 </div> 12 </div>
コントローラ
Perl
1sub hoge_diary { 2 my @result_diary = (); 3 my @result_diary_phr = (); 4 5 my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time); 6 7 for (my $i = -2; $i <= 6; ++$i) { 8 my $month = sprintf("%04d%02d", $year + 1900, $mon - $i); 9 if ($month == "201805") { 10 last; 11 } 12 push @result_diary_phr, $month; 13 @result_diary = reverse(@result_diary_phr); 14 } 15 return @result_diary; 16}
ロジック
Perl
1sub index :Path :Args(0) { 2 my ( $self, $c, @c ) = @_; 3 $c->stash->{template} = "fuga.tt2"; 4 my $hoge_logic = $c->model("Logic::Hoge"); 5 6 my @result_diary = $hoge_logic->hoge_diary; 7 foreach my $diary_phr (@result_diary){ 8 $c->stash->{month} = $diary_phr; 9 } 10}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。