2014-01-10 14 views
0

我試圖編輯記錄,但我的形式不提交,點擊提交按鈕,我得到以下error.How我能解決這個從提交CakePHP中編輯沒有發生

錯誤後:請求地址'/ groups/edit/12'在此服務器上找不到。

下面是我的代碼

edit.ctp

<?php echo $this->form->create('Listing',array('url'=>array('controller'=>'groups',  'action'=>'edit'),'type' => 'post','enctype' => 'multipart/form- data','id'=>'editform'));?> 

<?php echo $this->form->input('Id',array('id'=>'Id','type'=>'hidden')); 
echo $this->form->input('Slug_Category',array('id'=>'SlugCat','type'=>'hidden')); 
echo $this->form->input('SlugGroup',array('id'=>'SlugGroup','type'=>'hidden','value'=>$listingdata['Group']['group_slug'])); 
echo $this->form->input('Slug_SubCategory',array('id'=>'SlugSubcattxt','type'=>'hidden')); 

    echo $this->form->hidden('Status',array('value'=>'A')); 
echo $this->form->hidden('User_Id', array('value'=> $current_user['id'])); 
echo $this->form->hidden('Cr_Uid', array('value'=> $current_user['id'])); 
echo $this->form->hidden('Upd_Uid', array('value'=> $current_user['id'])); 

    echo('<div class="formrow">'); 
    echo $this->form->label('Title', '*Title', 
    array(
     'class' => 'formlabel' 
    )); 
    echo $this->form->input('Name', array(
    'class' => 'formtextbox required', 
      'id' => 'Name', 
    'label' => false, 
    'div' => false, 
    'maxlength' => 200, 
    'tabindex' => 1, 
    'autocomplete' => 'off', 
    'style'=>'padding-left:12px' 
    )); 
    echo('</div>'); 
echo('<div class="formrow">'); 
echo $this->form->label('Price', 'Price', 
     array(
       'class' => 'formlabel' 
     )); 
echo('<div class="formrowcurrencydiv">'); 
echo $this->form->input('price', array(
     'class' => 'formtextbox', 
     'id' => 'Price', 
     'label' => false, 
     'div' => false, 
     'tabindex' => 8, 
     'autocomplete' => 'off', 
     'style'=>'margin-left:2px;' 
)); 
echo('<div class="formrowcurrency" id="formrowcurrency">'); 
echo('</div>'); 
echo('</div>'); 
echo('</div>'); 



echo('<div class="formrow">'); 
echo $this->form->label('contact_no', 'Contact no', 
     array(
       'class' => 'formlabel' 
     )); 
echo $this->form->input('contact_no', array(
     'class' => 'formtextbox', 
     'id' => 'contact_no', 
     'label' => false, 
     'div' => false, 

     'tabindex' => 9, 
     'autocomplete' => 'off', 
     'style'=>'padding-left:12px' 
)); 
echo('</div>'); 


echo('<div class="formrow">'); 
echo $this->form->label('Description','Description',array('class'=>'formlabel')); 
echo $this->form->textarea('Description', array('rows'=>'15','cols'=>'70','class'=>'description','tabindex' => 10)); 
echo('</div>');?> 
<?php       
    echo $this->form->submit('Submit', array(
    'class' => 'button', 
    'div' => false, 
    'tabindex' => 11, 
    'id'=>'submitbtn' 
    )); 
?> 
<?php echo $this->form->end();?> 

控制器:

function edit($sluggroup=null , $listingslug=null){ 


    $listingdata=$this->Listing->findBySlugListing($listingslug); 
    $listid=$listingdata['Listing']['Id']; 
    $this->set('listingdata',$listingdata); 

    if ($this->request->is('post')) { 
     $this->Listing->Id = $this->request->data['Listing']['Id']; 

     $this->request->data['Listing']['Slug_Group'] = $listingdata['Group']['group_slug']; 
     $this->request->data['Listing']['Group_Privacy']=$listingdata['Group']['privacy']; 
     $this->request->data['Listing']['Group_Id']=$listingdata['Group']['id']; 





     if($this->Listing->save($this->data)) { 

      $this->redirect('http://'.$_SERVER['SERVER_NAME'].'/'.$sluggroup.'/'.$listingslug.'/listing'); 
     } 
    } 
    else 
    { 
     $this->data = $this->Listing->findById($listid); 
    } 

} 

我已經在routes.php文件

Router::connect('/groups/edit', array('controller' => 'groups', 'action' => 'edit')); 
Router::connect('/:sluggroup/:listingslug/:action', array('controller' => 'groups', 'action' => 'editlisting'),array(
    'pass' => array('sluggroup','listingslug'))); 
+0

改變功能的控制器'公共function'等,看看它是否工作 – Nunser

+0

我已經試過了,但仍然得到了同樣的錯誤,有任何問題我的路線? – user1851420

+0

@ user1851420控制器的實際名稱是什麼?我的意思是你有編輯功能? – Anubhav

回答

0

以下兩種途徑我不完全確定我在下站在你正在嘗試做的,但路線:

Router::connect('/:sluggroup/:listingslug/:action', 
    array('controller' => 'groups', 'action' => 'editlisting'), 
    array('pass' => array('sluggroup','listingslug')) 
); 

的是,似乎火一個,它會處理請求爲:

/組/ editlistings/

由於您的控制器似乎沒有這樣的方法,你會得到顯示的錯誤。

嘗試改變,爲:

Router::connect('/:sluggroup/:listingslug/:action', 
    array('controller' => 'groups', 'action' => 'edit'), 
    array('pass' => array('sluggroup','listingslug')) 
);