2014-10-01 6 views
0

Привет всем Я столкнулся с проблемой с моей маршрутизацией в Zend Framework 1. Я получаю эту ошибку:Zend Framework 1 Исключение ошибки маршрутизации

Exception information: 

Message: Action "testfree" does not exist and was not trapped in __call() 
Stack trace: 

#0 Zend/Controller/Action.php(518): Zend_Controller_Action->__call('testfreeAction', Array) 
#1 Zend/Controller/Dispatcher/Standard.php(295): Zend_Controller_Action->dispatch('testfreeAction') 
#2 Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) 
#3 Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch() 
#4 Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run() 
#5 public/index.php(46): Zend_Application->run() 
#6 {main} 

Request Parameters: 

array (
    'controller' => 'journal', 
    'action' => 'testfree', 
    'journal_id' => '23', 
    'module' => 'default', 
) 

Это моя ссылка в html

<a class="button" 
    href="<?php echo $this->url(
     array(
      'module'  => 'default', 
      'controller' => 'journal', 
      'action'  => 'testfree', 
      'journal_id' => $this->journal->id 
     ), 
     null, 
     false) 
?>">Test Free</a> 

У меня есть Controller под названием JournalController в подкаталоге по умолчанию модулей. Он имеет метод testfree(). Я бы назвал этот метод.

Это код Controller

public function testfree(){ 
     echo "test free"; 
     die(); 
    } 

у меня нет опыта работы с Zend. Я пытаюсь внести изменения в работу, которую сделал мой коллега. Может ли кто-нибудь посоветовать мне, где я ошибаюсь? Нужно ли что-то обновлять в файле Bootstrap.php?

Любая помощь очень ценится

+0

Эй! Пожалуйста, подумайте о том, чтобы отключить отображение ошибки '' 'на производственной среде! [http://isel.lightboxdigital.ie/journal/testfree](http://isel.lightboxdigital.ie/journal/testfree) –

+0

Простейшим способом является использование zftool для предотвращения подобных проблем. –

ответ

3

testfree это действие, поэтому постарайтесь, чтобы добавить 'Действие' имени:

public function testfreeAction(){ 
    ... 
} 
Смежные вопросы