У меня есть настройки маршрута, который выглядит следующим образом:Использование параметров маршрута по умолчанию для необязательного Kohana :: Маршрут URL
Route::set('my_route', 'r/<controller>(/<action>)(/(<name>-)<hash>)', array(
'controller' => '[a-z]+',
'action' => '[a-z]+',
'hash' => '\w{13}',
'name' => '[a-z]+',
))->defaults(array(
'directory' => 'my_dir',
'controller' => 'welcome',
'action' => 'index',
'name' => null,
));
, который работает сам по себе. Проблема возникает, когда я пытаюсь построить URL из маршрута, например:
return Route::url('my_route', array(
'action' => 'test',
));
Я получаю сообщение об ошибке:
Kohana_Exception [ 0 ]: Required route parameter not passed: name
Так что, если я установить имя null
, я получаю то же самое результат. Если установить имя false
, нет никакого сообщения об ошибке, но URLs выглядеть следующим образом:
/r/welcome/test/-
уведомление, - на конце? Теперь я мог бы снять это, но я надеюсь, что есть лучший способ.