NAME

Catalyst::Controller::CRUD::DBIC - CRUD (create/read/update/delete) Controller 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',
        'type'     => 'DBIC',
        'model'    => 'DBIC::UserMaster',
        'primary'  => 'id',
        'columns'  => [qw(name phone mail)],
        'default'  => '/user/list',
        'template' => {
            'prefix' => 'template/user/',
            'create' => 'create.tt',
            'read'   => 'read.tt',
            'update' => 'update.tt',
            'list'   => 'list.tt'
        },
    };
    return $hash;
}

sub create : Local {
  my ( $self, $c ) = @_;
  $c->create($self);
}

1;

<!-- MyApp/root/template/user/create.tt -->
<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

model_to_hashref

translate model object to hash reference

get_model

return model from $id.

get_models

return all models.

SEE ALSO

Catalyst::Controller::CRUD, Class::DBI, DBIx::Class

AUTHOR

Jun Shimizu, <bayside@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2006,2007 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 151:

=cut found outside a pod block. Skipping to next block.