Mojolicious Routing и CamelCase

У меня есть мои mojolicious маршруты, настроенные следующим образом:

my $r = $self->routes;
my $users = $r->route('/users')->to(controller => 'controller-users');

$users->get('/select')->to(                 action => 'select' );
$users->get('/list')->to(                   action => 'list' );

Где мой пользовательский контроллер определен в Users.pm и называется Project::Controller::Users. Все это работает отлично и без проблем. Однако у меня также есть некоторые контроллеры, такие как UserGroups. Они определяются таким же образом, Project::Controller::UserGroups.

Тем не менее, линия

my $users = $r->route('/users')->to(controller => 'controller-usergroups');

не работает для этого. Он продолжает пытаться найти несуществующий контроллер Project::Controller::Usergroups. Каков правильный синтаксис для camelcase для метода «to» маршрутизатора Mojolicious?


person psgels    schedule 05.03.2014    source источник


Ответы (1)


Ты пробовал:

my $users = $r->route('/users')->to(controller => 'controller-userGroups');

РЕДАКТИРОВАТЬ:

Можете ли вы попробовать это так:

my $users = $r->route('/users')->to(namespace=> 'Project::Controller::UserGroups', action => 'users');

На основании этого: http://mojolicio.us/perldoc/Mojolicious/Guides/Routing#Route_to_class

person Slaven Tomac    schedule 05.03.2014
comment
Я сделал, и он все еще ищет Project::Controller::Usergroups к сожалению - person psgels; 05.03.2014
comment
вы можете попробовать это: namespace=› 'Project::Controller::UserGroups' - person Slaven Tomac; 05.03.2014
comment
Да, мои $user_groups = $route-›route('/user_groups')-›to(namespace=› 'Project::Controller::UserGroups'); работает. Большое тебе спасибо :) - person psgels; 05.03.2014