我正在接管一个经过多个开发人员的网站。根据{{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
}
}
答案 0 :(得分:1)
检查acl声明。如果您正在使用acl但尚未声明该操作的规则,则可能会出现此类错误。
答案 1 :(得分:0)
最佳猜测:
您的前开发人员已在某处实施了自定义路由。可能在 application.ini 或 boostrap.php 中。此自定义路由正在查找特定网址,/customers/edit
符合有效路由,但/customers/editaddress
没有。
我认为这可能是因为您的错误是缺少资源而不是“未找到页面”或缺少控制器或缺少操作消息。因此,似乎路由器正在尝试将无效资源与有效路由匹配。
祝你好运