2014-05-14 93 views
1

我實現了一個蹦出來的寡婦爲用戶提供路由工作,報名方式:後窗體不會在蛋糕PHP

這裏是在元文件夾的形式popout.ctp被稱爲在default.thtml中:

echo $this->Form->create('User', array('url' => array('controller' => 'users', 'action' => 'register'))); 
echo $this->Form->hidden('popup'); 
echo $this->Form->input('email', array('label' => 'Your Email:')); 
echo $this->Form->end('Sign me Up!'); 

當我在用戶視圖中打開任何操作時,註冊按鈕正常工作,頁面被重定向到註冊用戶視圖中的操作。

而當我在根中時,索引頁面在另一個視圖中,按下注冊按鈕不會重定向到/ users/register並進入同一頁面。

這裏是路由:

  1. Router::connect('/users/register/', array('controller' => 'users', 'action' => 'register'));
  2. Router::connect('/', array('controller' => 'events', 'action' => 'viewall'));

當我刪除的事件的行動原則之二,註冊按鈕正常工作!

我不明白如何,這不符合第一條規則。

感謝您提前幫忙!

+0

我認爲你可能不是在看「問題」,而是看它的一些幾乎不相關的方面。什麼是有和沒有路由2的表單html?如果它沒有改變,那麼問題就不是你所描述的。 2)當您提交註冊表格時會發生什麼?沒有細節,可能沒有詳細的答案。 – AD7six

回答

0

沒有任何進一步的信息,有可能第二個實例以某種方式覆蓋第一個。另一種可能性是,不知何故,「行動」的路徑無效,或者控制器假定「行動」文件路徑(我假設它是'$ action'.php')是相對於路徑'/' 。

發現這一點:

cakephp routing problem, plugin routing works but not others

具體來說:

事實證明這發生,因爲有在應用程序的文件夾的用戶模型和用戶控制器以及插件控制器。所以路由處理其他控制器就好像它們不在那裏一樣。

現在全部修好了。

乾杯,保羅

我相信,這與我的初步答案吻合。

+0

這應該是一個評論 – AD7six

+0

我可以解決這個問題。我有另一種形式,忘了添加表格結束標記 ....所以當提交我的第二種形式,它實際上是提交我的第一種形式。 :) – shabk