NAME
Catalyst::Plugin::CRUD::DBIC - CRUD (create/read/update/delete) Plugin for DBIx::Class
SYNOPSIS
# MyApp/lib/MyApp.pm
package MyApp;
use Catalyst qw/-Debug MakeText CRUD::DBIC/;
1;
# MyApp/lib/MyApp/Controller/User.pm
package MyApp::Controller::User;
use base 'Catalyst::Controller';
use Class::Trigger;
sub setting {
my ( $self, $c ) = @_;
my $hash = {
'name' => 'user',
'model' => 'DBIC::UserMaster',
'primary' => 'id',
'columns' => [qw(name phone mail)],
'default' => '/user/list',
'template' => {
'prefix' => 'template/user/',
'create' => 'create.html',
'read' => 'read.html',
'update' => 'update.html',
'delete' => 'delete.html',
'list' => 'list.html'
},
};
return $hash;
}
sub create : Local {
my ( $self, $c ) = @_;
$c->create($self);
}
1;
<!-- MyApp/root/template/user/create.html -->
<html>
<body>
<h1>Create New User</h1>
<form name="user" method="post" action="/user/create">
<table>
<tr>
<td>User Name</td><td><input type="text" name="name" value="[% c.req.param('name') %]"></td>
</tr>
<tr>
<td>User Phone</td><td><input type="text" name="phone" value="[% c.req.param('phone') %]"></td>
</tr>
<tr>
<td>User Email</td><td><input type="text" name="mail" value="[% c.req.param('mail') %]"></td>
</tr>
</table>
</form>
</body>
</html>
DESCRIPTION
This module provides CRUD (create/read/update/delete) action using with DBIx::Class.
create: insert new record
read: find record
update: update record
delete: delete record
list: find all records
EXPORT
None by default.
METHODS
create
create action.
read
read action.
update
update action.
delete
delete action.
list
list action.
INTERNAL METHODS
get_model
return model from $id.
get_models
return all models.
SEE ALSO
Catalyst::Plugin::CRUD, Class::DBI, DBIx::Class
AUTHOR
Jun Shimizu, <bayside@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2006 by Jun Shimizu
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.2 or, at your option, any later version of Perl 5 you may have available.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 127:
=cut found outside a pod block. Skipping to next block.