Привет, ребята, у меня есть проблема, надеюсь, кто-то может пролить свет на это.
По какой-то странной причине мой маршрут появляется, говоря, что действие не существует, если я не изменю корпус верблюда на все строчные буквы для этого имени действия, тогда он работает нормально. но тогда это противоречит соглашениям об именах! и я тоже не хочу делать свой код неряшливым.
Вот мой маршрут:
$FrontController = Zend_Controller_Front::getInstance();
$Router = $FrontController->getRouter();
$Router->addRoute("artistsave",
new Zend_Controller_Router_Route
(
"artist/save-artist",
array(
"controller"=>"artist",
"action" =>"saveArtist"
)
)
);
Теперь для меня это должно выглядеть в ArtistController для действия saveArtistsAction, но это не вызывает эту ошибку:
К сожалению, вы столкнулись с ошибкой ниже. Действие «saveartist» не существует и не попало в __call()
Таким образом, похоже, что мой верблюжий корпус был удален в маршрутизаторе, так как a для Artist теперь отображается в нижнем регистре в ошибке, и если я переименую свое действие, чтобы оно соответствовало этому, оно сработало!
Любая идея, почему он не ищет saveArtist?
Я понимаю, что могу просто переименовать его, чтобы сохранить, поскольку он является частью объекта художника, но теперь я нашел это, и хотел бы понять, прежде чем отклеиться в другой раз в будущем.
Заранее спасибо за любую помощь :)
Как только я отправил это, я понял это, но я чувствую, что другие могут совершить ту же ошибку, поэтому лучше оставить это здесь и сообщить решение!
В маршрутизаторе он все еще находится в форматировании URL-адреса. Я должен был использовать дефисы, а не верблюжий регистр, тогда фреймворк работает. так вот мое исправление/решение:
$Router->addRoute("artistsave",
new Zend_Controller_Router_Route
(
"artist/save-artist",
array(
"controller"=>"artist",
"action" =>"save-artist"
)
)
);
Удачного кодирования :)