2013-10-09 205 views
0

這可能是一個簡單的問題,但我正在使用Laravel進行測試。我把我的路線是這樣相應:現在Laravel 4路由參數REST

// Users Route 
Route::get('users',array('as'=> 'users', 'uses'=> '[email protected]')); 
Route::get('users/{id}', array('as' => 'user', 'uses' => '[email protected]')); 
Route::get('users/{id}/edit', array('as' => 'edit_user', 'uses' => '[email protected]')); 
Route::get('users/new', array('as' => 'new_user', 'uses' => '[email protected]')); 
Route::post('users', '[email protected]'); 
Route::delete('users', '[email protected]'); 

,在我的瀏覽器,如果我訪問localhost/users/new,它會調用一個名爲「用戶」而不是「new_user」的路線。我的意思是,它會加載編輯路線而不是創建用戶。

我的代碼有什麼問題?

回答

2

優先事項,只是更改爲:

Route::get('users',array('as'=> 'users', 'uses'=> '[email protected]')); 
Route::get('users/new', array('as' => 'new_user', 'uses' => '[email protected]')); 
Route::get('users/{id}', array('as' => 'user', 'uses' => '[email protected]')); 
Route::get('users/{id}/edit', array('as' => 'edit_user', 'uses' => '[email protected]')); 
Route::post('users', '[email protected]'); 
Route::delete('users', '[email protected]'); 

Laravel認爲 '新' 是你(編號)參數。

+0

我試圖用這個代碼,當我參觀「用戶/新」它拋出這個錯誤:非法抵消類型在isset或空 – Bajongskie

+0

現在你必須看看你的方法UsersController @ create,看起來像你有一個錯誤。 –

+0

哦,我認爲這是我的問題的根源,而不是路線。 – Bajongskie

3

如果您使用RESTful API,那麼使用資源路由是最好的。

路線,

Route::resource('users', 'UsersController'); 

和控制器

<?php 


class UsersController extends BaseController { 

    /** 
    * Display all users. 
    * 
    * @return Response 
    * GET http://localhost/laravel/users 
    */ 

    public function index() { 

    } 

    /** 
    * Show the form for creating a new resource. 
    * 
    * @return Response 
    */ 

    public function create() { 
     // 
    } 

    /** 
    * Store a newly created resource in storage. 
    * 
    * @return Response 
    * POST http://localhost/laravel/users 
    */ 

    public function store() { 
     // 
    } 

    /** 
    * Display the specified resource. 
    * 
    * @param int $id 
    * @return Response 
    * GET http://localhost/laravel/users/1 
    */ 

    public function show($id) { 
     // 
    } 

    /** 
    * Show the form for editing the specified resource. 
    * 
    * @param int $id 
    * @return Response 
    */ 

    public function edit($id) { 
     // 
    } 

    /** 
    * Update the specified resource in storage. 
    * 
    * @param int $id 
    * @return Response 
    * PUT http://localhost/laravel/users/1 
    */ 

    public function update($id) { 
     // 
    } 

    /** 
    * Remove the specified resource from storage. 
    * 
    * @param int $id 
    * @return Response 
    * DELETE http://localhost/laravel/users/1 
    */ 

    public function destroy($id) { 


    } 

} 
+0

+1,因爲它消除了manuelly寫作路線的頭痛。 – itachi