Zend_Form提交>找不到资源'controller :: action'

时间:2013-03-27 23:41:51

标签: zend-framework zend-form

我正在接管一个经过多个开发人员的网站。根据{{​​1}},该网站正在使用Zend版本1.12.0,这对我来说是一个新框架。在网站上,有一个名为Zend_Version::VERSION的表单类,它扩展了App_Form_Customers_Edit。表单的操作是/ customers / edit,并且在提交时,执行Zend_Form的方法editAction。

因此,要创建新表单,我在与CustomersController相同的目录中创建了一个新类App_Form_Customers_EditAddress,并将其操作设置为App_Form_Customers_Edit,创建了一个名为{{1的函数在/customers/editaddress类中并测试了表单。 但我得到一个错误,说“资源'客户:: editaddress'未找到”

表单本身正确显示,据我所知,我使用与其他表单完全相同的模式,除了不使用zf命令之外,Zend文档中的方法相同:http://framework.zend.com/manual/1.12/en/learning.quickstart.create-form.html

我需要做些什么才能使我的新表单正常工作?我需要更新editaddressAction吗?我看不到与工作形式有关的任何内容。

以下是CustomersController的代码:

.zfproject.xml

对于App_Form_Customers_Edit

class App_Form_Customers_Edit extends Zend_Form
{
  public function init ()
  {
    $this->addPrefixPath('App_Form', 'App/Form/');
    $this->setMethod('post');
    // ... The rest is just calls to $this->addElement
  }
}

2 个答案:

答案 0 :(得分:1)

检查acl声明。如果您正在使用acl但尚未声明该操作的规则,则可能会出现此类错误。

答案 1 :(得分:0)

最佳猜测:

您的前开发人员已在某处实施了自定义路由。可能在 application.ini boostrap.php 中。此自定义路由正在查找特定网址,/customers/edit符合有效路由,但/customers/editaddress没有。

我认为这可能是因为您的错误是缺少资源而不是“未找到页面”或缺少控制器或缺少操作消息。因此,似乎路由器正在尝试将无效资源与有效路由匹配。

祝你好运