如果值不是数字(如host_id
无效),我该如何处理?目前它只返回not_found
页面而不是执行get_host_id
函数。
该函数的理想行为是,如果它接收到一个数字,它将执行if语句的第一部分,但如果它是一个字符串,它将返回not_found
页面。
sub get_host_id {
my $self = shift;
my $host_id = $self->stash('host_id');
if ( $RE{num}{int}->matches($host_id) ) {
my $hostid = $host_id = $self->hosts->get_host_id($host_id);
return $self;
}
else{
return $self->redirect_to('/not_found');
}