2014-10-09 108 views
0

一切看起來都適合我。這很簡單,但我不知道。我到處尋找。我無法綁定重定向::到()和一起路由,它不會重定向

問題:它不重定向。它不會給錯誤沒有任何反應。 但是,當我進入瀏覽器http://site.dev/fail 它顯示「失敗」在屏幕上的字(所以它的工作原理)。

routes.php文件:

Route::post('getir' , 'Ahir\Ticket\Controllers\[email protected]'); 

Route::get('fail', function() { return 'fail'; }); 

Route::get('success', function() { return 'success'; }); 

編輯一切

場景:site.dev/(主頁)我按下提交該表格有這個。

form action="getir" method="POST" role="form" 

所以按鈕重定向我

Route::post('getir' , 'Ahir\Ticket\Controllers\[email protected]'); 

所以這postInsert在控制器票低於觸發。

控制器票:

<?php namespace Ahir\Ticket\Controllers; 

use BaseController, Input; 
//use Ahir\Ticket\Repositories\TicketInterface; 

use Ahir\Ticket\Adapters\AdapterInterface ; 

class TicketController extends BaseController { 

    public function __construct(AdapterInterface $adapter) //TicketInterface $repository 
    { 
     //$this->repository = $repository; 
      $this->adapter = $adapter; 
    } 

    public function postInsert() 
    { 
     $this->adapter->postInsert(); 

    } 
} 

那麼說到這裏

public function postInsert() 
{ 
    // create the validation rules ------------------------ 
    $rules = array(
     'title' => 'required',   
     'content' => 'required', 
     ); 

    $validator = Validator::make(Input::all(), $rules); 

    if ($validator->fails()) { 

     // i added here return vardump('fail'); it displays on screen. 
     // so i know that program comes here 
     // but the redirect below neither gives error nor redirect. 
     //nothing happens here. idk why! 
     return Redirect::to('fail')->withErrors($validator); 

    } else { 
     // validation successful --------------------------- 

     $this->obj->insert([ 

      'title' => Input::get('title') , 
      'content' => Input::get('content') 
      ]); 

     //here DOESNT work too. 
     return Redirect::to('success'); 
    } 
+0

您會得到什麼錯誤?在代碼中重定向的 – Quasdunk 2014-10-09 07:59:43

+0

既不會給出錯誤也不會重定向。 這裏沒有任何反應,我不明白! – ertugb0ZZ 2014-10-09 08:00:32

+0

好的,但打開調試,對吧? – Quasdunk 2014-10-09 08:01:02

回答

0

的問題是,你不從調用函數返回任何東西。

您的應用程序在票務控制器上調用postInsert()方法。該函數調用返回Redirect的另一個函數。

但是,您不會將返回的重定向傳遞迴應用程序,因此postInsert()函數只是在沒有任何輸出的情況下終止。應用程序不知道postInsert()函數中發生了什麼,它只是等待返回的東西。由於沒有返回,所以HTTP響應只是空的。爲了將該重定向傳遞迴應用程序,您還必須將其從調用函數中返回:

public function postInsert() 
{ 
    return $this->adapter->postInsert(); 

}