- 2007/6/20 水曜日 4:00:21
- perl
ちと古い話題だけど、
TTでDBICのhas_manyなメソッドを使う
TTでDBICのmany_to_manyなメソッドを使う
[% WHILE %] の中のこと その後
ここら辺で問題になっていた
何を言いたいかというと、TTでhas_manyで定義した子オブジェクトの結果一覧を取得するメソッド(ここではcomments)にアクセスするとイテレーターではなく配列のリファレンスとして扱われるので大変面倒。
それ、Template::Stash::Contextでもいけますですよ。
(Catalystの場合)MyAPP::View::TT
で
__PACKAGE__->config( STASH => Template::Stash::Context->new(), );
こうして、Viewのほうでは
<html><body> <ul> [% WHILE (topic = topics.next) %] <li> [% topic.title %] : comments([% topic.comments.scalar.count %]) </li> [% END %] </ul> </body> </html>
こんな感じで。これだとmany-to-manyでもたぶんいける。(試してないけど)
ただ、自分はTemplate::Stash::Filtersを使ってるので結局使えなかったり。
うーんなんとかしたい。というか、Stashをauto-filter的な使い方してるのが間違っているのかもしれないけど。。。
追記
なんとかしてみた->Template::Stash::FiltersでTemplate::Stash::Contextを併用する方法
- 新しい: Template::Stash::FiltersでTemplate::Stash::Contextを併用する方法
- 古い: さて、そろそろ反撃してもいいですか?(携帯サイトでCSSを3キャリア共通にする)
コメント:0
トラックバック:0
- この記事のトラックバック URL
- https://blog.everqueue.com/chiba/2007/06/20/15/trackback/
- トラックバックの送信元リスト
- それTemplate::Stash::Contextで - へぼい日記 より