我将用代码解释我的问题:
首先我的应用程序(ls -R):
/ Kantine
控制器kantine.conf kantine.pl Kantine.pm模板
Kantine /控制器: Restaurant.pm Sandwich.pm
Kantine /模板: cantine.html.ep
我使用命令“hypnotoad kantine.pl”在hypnotoad下启动它。
一切都很好
Kantine / kantine.pm:
package Kantine;
use strict;
use warnings;
use Mojo::Base 'Mojolicious';
sub startup
{
my $self = shift;
my $config = $self->plugin('Config');
my $r = $self->routes;
$r->get('/restaurant')->to('restaurant#loadData');
$r->get('/sandwich')->to('sandwich#loadData');
$r->get('/test')->to(template => 'cantine');
}
1;
Kantine / Controllers / Restaurant:
package Controllers :: Restaurant;
use strict;
use warnings;
use Mojo::Base 'Mojolicious::Controller';
sub loadData
{
my $self = shift;
$self->render('cantine');
}
1;
“curl http://127.0.0.1:3000/test”工作正常(得到一个空白页)但“卷曲http://127.0.0.1:3000/restaurant”没有(找不到页面)。而且我不知道为什么!如果你看到了什么问题..
THX!
答案 0 :(得分:1)
我很确定您使用Controllers
的所有地方都应该是Controller
(单数)。 /test
路由有效,因为Mojolicious可以在templates
中找到该模板,但它不会查找Controllers
,因此无法找到Controllers::Restaurant
。