37 lines
885 B
Perl
37 lines
885 B
Perl
package MyApp::Controller::Book;
|
|
use Mojo::Base 'Mojolicious::Controller', -signatures;
|
|
use MyModel::Book;
|
|
use MyModel::Author;
|
|
|
|
sub index ($self) {
|
|
my $page_number = $self->param('page_number') // 1;
|
|
my $book_model = MyModel::Book->new;
|
|
my $book_page = $book_model->get_page($page_number, $self->param('title_like'));
|
|
$self->render(
|
|
book_page => $book_page,
|
|
pager => $book_page->pager,
|
|
);
|
|
}
|
|
|
|
sub author ($self) {
|
|
my $page_number = $self->param('page_number') // 1;
|
|
my $author_model = MyModel::Author->new;
|
|
my $author_page = $author_model->get_page(
|
|
$page_number,
|
|
$self->param('name_like'),
|
|
);
|
|
$self->render(
|
|
author_page => $author_page,
|
|
pager => $author_page->pager,
|
|
);
|
|
}
|
|
|
|
sub view_author ($self) {
|
|
my $id = $self->param('id');
|
|
$self->render(
|
|
author => MyModel::Author->new->find_by_id($id)
|
|
);
|
|
}
|
|
|
|
1;
|