frei

旧「anney's room」からブログ「frei」だけ引っ越し&残しました

Catalyst を伝える。

新人さんが今月頭から入社して

なりゆきで私が教育係に。

う"ーん、たいして知識もない、へなちょこプログラマーの私なのに

何故かどこの現場でも、教育係になるタイミングがあるもんだなぁ。

なにはともあれ、coLinux 上に CentOS のインストールが済み次第、

早速 Catalyst の課題を出さないとアカンかったのだが

今回の新人さんは perlLinux 上での開発経験がないところからスタートなので、

とりあえず、全ての作業手順が書いてある資料が欲しいのだが...ない。

私が入社した時もなかったしなぁ。

今、全体的にドキュメント作ってる最中だしなぁ。

なにはともあれ、何も目標もなく

ただただ perlLinux に慣れてね、というのも困ると思うので、

とりあえず、新人さんが自力でググって見つけたサイトCatalyst のお勉強モードへ。

でも、困ったなぁ。

実はこのページ、私も以前使って勉強したんだけど

情報が古いので、今のバージョンのだと状況が違ったりするし、

さらに Windows 上での開発環境で書かれてるもんだから

現場の Linux 上で開発するのには、

UNIXコマンドを自力で調べてやってもらわないとアカンのですよ。うー。

しまったなぁ。

もっと早く、新人さんの状況を知れたり、課題内容が確定してりゃー

土日使って、前以て資料作っておいたのになぁ。

てな訳で、とりあえず、今週は途中までサイトの内容を進められたんだけど

続きは梃子摺りそうな気配がしてたので、この土日使って調べておこうと思った次第。

んで、さっき、調べ終わったんで、

その超適当メモ。

SQLite からみのエラー find_or_create が見つからないの件

script/memo_create.pl model DBIC DBIC dbi:SQLite:/home/xxx/work/Memo/db/memo.db

これで新しく出来た DBIC.pm.new を DBIC.pm にリネームすること

・テンプレートの設置場所

work/Memo/root/ 配下

・Read の生成 - コントローラー - Memo::Controller::Read

package Memo::Controller::Read;

use strict;

use warnings;

use parent 'Catalyst::Controller';

sub read : Regex('^read/(\w+)$') {

my ( $self, $c ) = @_;

$c->stash->{template} = 'read.tt';

my $id = $c->request->snippets->[0];

unless ($id) {

$c->stash->{error} = 'error';

return 0;

}

my $table = $c->model('DBIC::Memo');

my $record = $table->find({id => $id});

$c->stash->{memo} = $record;

}

1;

勿論、エラー処理はもっと丁寧にね。

ちなみに find(id => $id) だと、以下の warning が出る

DBIx::Class::ResultSetProxy::find(): Find by key => value deprecated; please use a hashref instead at /home/anigon/work/Memo/script/../lib/Memo/Controller/Read.pm line 42

1件のみじゃなくて、リストで表示するとか

いろいろやってもらうなら、DBI のリファレンスを見てもらった方が良いかも。

あ、CPAN のサイトも見てもらわないとなぁ。

・Read の生成 - テンプレート - work/Memo/root/read.tt

error:[% error %]

id:[% memo.id %]

title:[% memo.title %]

message:[% memo.message %]

これをクリアしたら、やっと課題かなー。