2012-09-12 48 views
0

我在我的应用程序中遇到了一个奇怪的问题。我有一些需要编辑的数据,当我试图保存数据时,会发生奇怪的事情。在cake1.3中保存表单数据

如果我在beforeFilter()的末尾输入die('test');,我会在屏幕上看到“测试”,但如果我将它放在动作的开始处,我将被重定向到登录页面。

如果我通过一些specyfic数据

$this->data['Movie']['title']) 

如果我通过别的

$this->data['Movie']['genere'] 

一切正常,这是怎么回事而已。

我该如何调试? beforFilter和操作之间发生了什么?

+0

你可以在beforefilter var_dump($ this-> data)吗? –

+0

之后可能会发生 - 不要忘记beforeRender()。此外,请检查您的视图是否通过requestAction()拉取数据,这可能需要身份验证。 – RichardAtHome

+0

显示完整beforFilter行动码... –

回答

1

如果您的Auth组件处于活动状态,请检查您的beforeFilter()功能是否允许该用户执行此操作。

例如:

function beforeFilter() { 
    $this->Auth->allow(array('add', 'edit',)); // for example 
} 

在您allow()方法包括所需的方法的名称。

+0

显示和保存表单是在同一个动作中,显示工作正常,所以它不应该是Auth-> allow()...此外,我已拒绝('*');.我正在使用Acl,并且以ACO'contorllers'中的所有用户身份登录, – Vexator