2013-05-20 32 views
2
<?php 
namespace Acme\TaskBundle\Controller; 
use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Acme\TaskBundle\Entity\Task; 
use Symfony\Component\HttpFoundation\Request; 


class DefaultController extends Controller 
{ 
    public function indexAction($name) 
    { 
    return $this->render('AcmeTaskBundle:Default:index.html.twig', array('name' => $name)); 
    } 

    public function newAction(Request $request) 
    { 
    // just setup a fresh $task object (remove the dummy data) 
    $task = new Task(); 
    $task->setTask('Write a blog post'); 
    $task->setDueDate(new \DateTime('tomorrow')); 

    $form = $this->createFormBuilder($task) 
     ->add('task', 'text') 
     ->add('dueDate', 'date') 
     ->getForm(); 

    if ($request->isMethod('POST')) 
    { 
     $form->bind($request); 

     if ($form->isValid()) 
     { 
     // perform some action, such as saving the task to the database 

     return $this->redirect($this->generateUrl('task_success')); 
     } 
    } 
    } 
} 

它在這裏說:控制器必須返回一個響應(null給出)。你忘了在控制器的某個地方添加一個return語句嗎? 任何人都可以幫助我在此它在這裏說:控制器必須返回一個響應(null給出)。你忘了在控制器的某個地方添加一個return語句嗎?

+0

[錯誤沒有響應的Symfony2](http://stackoverflow.com/questions/15766887/error-no-response-symfony2) –

+1

如果($請求 - > isMethod( 'POST'))的可能重複 { $ form-> bind($ request); if($ form-> isValid()) { //執行一些操作,例如將任務保存到數據庫 return $ this-> redirect($ this-> generateUrl('task_success')); \t} \t \t} }返回$這 - >渲染( 'AcmeTaskBundle:默認:new.html.twig',陣列( '形式'=> $形式 - > CreateView的(), \t \t \t)) ; } – raffryan

回答

2

如果if($request->isMethod('POST'))返回false你什麼都不做。所以當你第一次創建你的表單時(並且你沒有進入POST的情況),你會遇到這種情況,你必須返回一些東西給你的控制器動作調用者。

if ($request->isMethod('POST')) 
{ 
    $form->bind($request); 

    if ($form->isValid()) 
    { 
    // perform some action, such as saving the task to the database 
    return $this->redirect($this->generateUrl('task_success')); 
    } 
} 
// here, you have to return something (view,xml,redirect,etc...) 
+0

好的謝謝你的答案@DonCallisto但我仍然沒有線索該怎麼做,我認爲使用Symfony編程是非常困難的,我覺得放棄,但我不會。我發佈的這個問題是在這個網站http://symfony.com/doc/current/book/forms.html。我遵循指示,直到處理表單提交併卡住,請任何善良的靈魂可以幫助。我真的很迷茫,真的需要幫助 – raffryan

+0

@raffryan:使用symfony進行編程是非常困難的事情..首先,如果您沒有發佈此控制器操作,您必須知道該怎麼做。之後,如果你有正確的想法,我可以指出你的解決方案... – DonCallisto

+0

好吧@DonCallisto,給我一些時間,我會盡量整理出來。如果有什麼,是否有可能回到你身邊?非常感謝,我一直在玩這個應用程序只有3-4天 – raffryan

相關問題