タグ

catalystとselfに関するa2ikmのブックマーク (2)

  • Catalystで未定義アクションのテンプレートを描画 - Aerialarts

    Railsだとコントローラにアクションが定義されていなくても、リクエストに応じたビューのテンプレートファイルが存在すればそれが描画される(ルーティングはされてる必要がある気がする)。 で、Catalystでもそうなってるのかと思ったけど、どうやらそうなってないらしい(?)ので、自分で書いてみた。 まずはコントローラの共通の基底クラスのdefaultアクションで、リクエストに応じたテンプレートを探す。 package MyApp::Controller::Base; use Moose; BEGIN { extends 'Catalyst::Controller' } sub default :Private { my ($self, $c) = @_; if (my $template = $self->suggest_template($c)) { # テンプレートが存在すればそれをセッ

  • Catalystでnamed_scope風実装 - Aerialarts

    泣きながらPerl/Catalystを書いている今日この頃です。慣れない言語は辛い。 PerlのORマッパーであるDBIx::Classを使ってるんですが、とりあえずDBIx::Class beginnersを見ると、使い方の指針やFat Modelっぽい書き方が載っていて大変良いです。ActiveRecord大好きです。 で、CatalystにはRailsのnamed_scopeのような便利な記法は標準では提供されていません。多分。でもDBIx::Class::ResultSetのサブクラスを使うようにすれば、それっぽいことはできるようになります。 まず アプリ名をMyAppとします。 my $rs = $c->("DBIC::Foo")が返すのはDBIx::Class::ResultSetのインスタンスで、これはクエリを投げて返ってきた集合に対して処理をするために用います。 一方、例え

    a2ikm
    a2ikm 2011/05/13
    とりあえず今日一日の成果。自分で用意しなきゃいけないのはスマートじゃないと思うんだけど、みんなどうやっているんだろう?
  • 1