- 2007-06-20 (水) 4:00
- 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を併用する方法
- Newer: Template::Stash::FiltersでTemplate::Stash::Contextを併用する方法
- Older: さて、そろそろ反撃してもいいですか?(携帯サイトでCSSを3キャリア共通にする)
Comments:0
Trackback+Pingback:0
- TrackBack URL for this entry
- http://www.geminium.com/chiba_blog/2007/06/20/15/trackback/
- Listed below are links to weblogs that reference
- それTemplate::Stash::Contextで from へぼへぼCTO日記
