2017-08-31 11 views
0

をレンダリングするテンプレートをレンダリングするのdoesn:Mojoliciousのアプリのconrollers tは、彼らが私はコードで私の問題を説明します


最初に私のアプリ(の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 /コントローラ/レストラン:::レストラン

パッケージコントローラ。

use strict; 
use warnings; 

use Mojo::Base 'Mojolicious::Controller'; 

sub loadData 
{ 
    my $self = shift; 
    $self->render('cantine'); 
} 

1; 

"http://127.0.0.1:3000/restaurantをカール"(空白のページを持って)正常に動作します "http://127.0.0.1:3000/testをカール" が、(ページが見つかりませんGOT)しません。そして、なぜ私はそれを理解していません!あなたが何が間違っているかを見たら...

Thx!

+0

スペルミスですか?ある場所に 'loadData'があり、もう片方に' loadDate'があります(実際のコードを切り取り貼り付けてくれてありがとう)。 – mob

+1

それを修正しましたが、さらに何かがあるようです!私はあまりにもポストでそれを編集します!私はログファイルを追加し、 "Controller" Kantine :: Restaurantは存在しないと言っています。理由を見てみましょう。 –

答えて

1

Controllersを使用したすべての場所がController(単数)になっているはずです。 /testルートは、Mojoliciousがtemplatesにテンプレートを見つけることができるため、Controllersには表示されないため、Controllers::Restaurantが見つかりません。

+0

私のパスは間違っていました。私はそれを確信することはできませんが、あなたは近くにいなければなりません。 –

関連する問題